diff --git a/android/abi_gki_aarch64.xml b/android/abi_gki_aarch64.xml index a263c39a0a40..e41f5234a571 100644 --- a/android/abi_gki_aarch64.xml +++ b/android/abi_gki_aarch64.xml @@ -1427,6 +1427,7 @@ + @@ -2145,6 +2146,8 @@ + + @@ -4394,7 +4397,7 @@ - + @@ -4408,7 +4411,7 @@ - + @@ -4513,7 +4516,7 @@ - + @@ -4564,7 +4567,7 @@ - + @@ -4818,7 +4821,7 @@ - + @@ -4967,7 +4970,7 @@ - + @@ -4990,14 +4993,14 @@ - + - - + + @@ -5037,258 +5040,247 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - + - + - + - + - + - + - + @@ -5304,38 +5296,38 @@ - + - + - + - + - + - + - - + + - + - + - + - + @@ -5685,10 +5677,10 @@ - + - + @@ -5701,12 +5693,12 @@ - + - + - + @@ -5719,10 +5711,10 @@ - + - + @@ -5855,7 +5847,7 @@ - + @@ -5977,7 +5969,7 @@ - + @@ -5986,7 +5978,7 @@ - + @@ -6011,21 +6003,21 @@ - + - + - + - + @@ -6071,7 +6063,7 @@ - + @@ -6143,7 +6135,7 @@ - + @@ -6164,7 +6156,7 @@ - + @@ -6176,7 +6168,7 @@ - + @@ -6781,8 +6773,8 @@ - - + + @@ -6794,13 +6786,13 @@ - + - + @@ -6811,8 +6803,8 @@ - - + + @@ -6859,10 +6851,10 @@ - + - + @@ -6871,7 +6863,7 @@ - + @@ -7105,13 +7097,13 @@ - + - + - + @@ -7231,8 +7223,8 @@ - - + + @@ -7240,21 +7232,21 @@ - + - + - + - + @@ -7360,7 +7352,7 @@ - + @@ -7377,7 +7369,7 @@ - + @@ -7388,7 +7380,7 @@ - + @@ -7402,13 +7394,13 @@ - + - + @@ -7598,7 +7590,7 @@ - + @@ -7640,14 +7632,14 @@ - - + + - + @@ -7765,28 +7757,28 @@ - - + + - - + + - - + + - - + + @@ -7803,8 +7795,8 @@ - - + + @@ -8307,7 +8299,7 @@ - + @@ -8414,22 +8406,22 @@ - + - + - + - + @@ -8848,7 +8840,7 @@ - + @@ -8908,21 +8900,21 @@ - + - + - + - + - + - + @@ -8942,7 +8934,7 @@ - + @@ -8950,7 +8942,7 @@ - + @@ -8962,7 +8954,7 @@ - + @@ -8990,7 +8982,7 @@ - + @@ -9250,7 +9242,7 @@ - + @@ -9267,7 +9259,7 @@ - + @@ -9279,7 +9271,7 @@ - + @@ -9306,10 +9298,10 @@ - + - + @@ -9318,12 +9310,12 @@ - + - + @@ -9331,7 +9323,7 @@ - + @@ -9343,7 +9335,7 @@ - + @@ -9362,7 +9354,7 @@ - + @@ -9379,7 +9371,7 @@ - + @@ -9640,8 +9632,8 @@ - - + + @@ -9670,8 +9662,8 @@ - - + + @@ -9806,10 +9798,10 @@ - + - + @@ -9818,10 +9810,10 @@ - + - + @@ -9837,28 +9829,28 @@ - + - + - + - + - + - + - + - + @@ -9866,7 +9858,7 @@ - + @@ -9890,7 +9882,7 @@ - + @@ -9901,7 +9893,7 @@ - + @@ -9919,26 +9911,26 @@ - + - + - + - + - + - + @@ -9949,7 +9941,7 @@ - + @@ -9957,7 +9949,7 @@ - + @@ -9965,7 +9957,7 @@ - + @@ -9976,8 +9968,8 @@ - - + + @@ -9999,7 +9991,7 @@ - + @@ -10021,7 +10013,7 @@ - + @@ -10082,7 +10074,7 @@ - + @@ -10153,7 +10145,7 @@ - + @@ -10799,8 +10791,8 @@ - - + + @@ -11109,7 +11101,7 @@ - + @@ -11180,7 +11172,7 @@ - + @@ -11205,37 +11197,20 @@ - - - - - - - - - - - - - - - - - - + - + - + - + @@ -11349,7 +11324,7 @@ - + @@ -11367,7 +11342,7 @@ - + @@ -11550,13 +11525,13 @@ - + - + @@ -11617,7 +11592,7 @@ - + @@ -11812,10 +11787,10 @@ - + - + @@ -12182,10 +12157,10 @@ - + - + @@ -12230,15 +12205,15 @@ - + - + - + - + @@ -12246,7 +12221,7 @@ - + @@ -14033,31 +14008,31 @@ - + - + - + - + - + - + - + - + - + - + @@ -14071,7 +14046,7 @@ - + @@ -14085,7 +14060,7 @@ - + @@ -14099,7 +14074,7 @@ - + @@ -14107,7 +14082,7 @@ - + @@ -14115,7 +14090,7 @@ - + @@ -14123,7 +14098,7 @@ - + @@ -14134,7 +14109,7 @@ - + @@ -14142,7 +14117,7 @@ - + @@ -14150,23 +14125,23 @@ - + - + - + - + - + - + @@ -14174,7 +14149,7 @@ - + @@ -14182,7 +14157,7 @@ - + @@ -14190,7 +14165,7 @@ - + @@ -14198,7 +14173,7 @@ - + @@ -14206,10 +14181,27 @@ - + - + + + + + + + + + + + + + + + + + + @@ -14217,17 +14209,17 @@ - + - + - + - + - + @@ -14237,21 +14229,21 @@ - + - + - + - + - + @@ -14260,12 +14252,12 @@ - + - + @@ -14281,7 +14273,7 @@ - + @@ -14294,7 +14286,7 @@ - + @@ -14305,7 +14297,7 @@ - + @@ -14313,7 +14305,7 @@ - + @@ -14323,37 +14315,48 @@ - + - + - + - + - + + + + + + + + + + + + - + - + - + - + @@ -14361,23 +14364,23 @@ - + - + - + - + - + - + @@ -14388,15 +14391,15 @@ - + - + - + @@ -14404,7 +14407,7 @@ - + @@ -14412,7 +14415,7 @@ - + @@ -14871,10 +14874,10 @@ - + - + @@ -15231,15 +15234,7 @@ - - - - - - - - - + @@ -15322,14 +15317,6 @@ - - - - - - - - @@ -16034,7 +16021,7 @@ - + @@ -16042,7 +16029,7 @@ - + @@ -16247,21 +16234,7 @@ - - - - - - - - - - - - - - @@ -16276,39 +16249,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16403,7 +16343,7 @@ - + @@ -16505,7 +16445,7 @@ - + @@ -16581,7 +16521,7 @@ - + @@ -16611,7 +16551,7 @@ - + @@ -16784,14 +16724,6 @@ - - - - - - - - @@ -16966,7 +16898,7 @@ - + @@ -16974,7 +16906,7 @@ - + @@ -16982,23 +16914,15 @@ - - - - - - - - - + - + - + @@ -17008,8 +16932,8 @@ - - + + @@ -17368,7 +17292,7 @@ - + @@ -17653,7 +17577,7 @@ - + @@ -17739,7 +17663,7 @@ - + @@ -18050,39 +17974,39 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -18161,10 +18085,10 @@ - + - + @@ -18187,8 +18111,8 @@ - - + + @@ -18196,8 +18120,8 @@ - - + + @@ -18205,8 +18129,8 @@ - - + + @@ -18229,14 +18153,14 @@ - - + + - - + + @@ -18244,8 +18168,8 @@ - - + + @@ -18256,8 +18180,8 @@ - - + + @@ -18509,7 +18433,7 @@ - + @@ -18542,7 +18466,7 @@ - + @@ -18555,9 +18479,9 @@ - + - + @@ -18567,20 +18491,20 @@ - + - + - + - + @@ -18738,7 +18662,7 @@ - + @@ -18776,7 +18700,7 @@ - + @@ -18784,7 +18708,7 @@ - + @@ -18822,7 +18746,7 @@ - + @@ -18836,7 +18760,7 @@ - + @@ -18847,7 +18771,7 @@ - + @@ -18867,7 +18791,7 @@ - + @@ -18875,7 +18799,7 @@ - + @@ -18973,7 +18897,7 @@ - + @@ -19437,7 +19361,7 @@ - + @@ -19637,7 +19561,7 @@ - + @@ -19768,9 +19692,26 @@ + + + + + + + + + + + + + + + + + - + @@ -19778,7 +19719,7 @@ - + @@ -19786,7 +19727,7 @@ - + @@ -19847,7 +19788,7 @@ - + @@ -19860,7 +19801,7 @@ - + @@ -19876,9 +19817,9 @@ - + - + @@ -19889,7 +19830,7 @@ - + @@ -19908,47 +19849,30 @@ - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - + @@ -19995,7 +19919,7 @@ - + @@ -20283,38 +20207,38 @@ - - + + - + - + - + - + - + - + - + - + - + - + @@ -21263,7 +21187,7 @@ - + @@ -21271,7 +21195,7 @@ - + @@ -21828,8 +21752,8 @@ - - + + @@ -22785,7 +22709,7 @@ - + @@ -22843,15 +22767,15 @@ - + - + - + @@ -23224,12 +23148,12 @@ - + - + @@ -24030,7 +23954,7 @@ - + @@ -24219,7 +24143,7 @@ - + @@ -24833,12 +24757,12 @@ - + - + @@ -26282,7 +26206,7 @@ - + @@ -26300,7 +26224,7 @@ - + @@ -28956,8 +28880,8 @@ - - + + @@ -28998,8 +28922,8 @@ - - + + @@ -29016,8 +28940,8 @@ - - + + @@ -29066,8 +28990,8 @@ - - + + @@ -29102,8 +29026,8 @@ - - + + @@ -29119,8 +29043,8 @@ - - + + @@ -29148,8 +29072,8 @@ - - + + @@ -29165,8 +29089,8 @@ - - + + @@ -29635,13 +29559,13 @@ - + - + @@ -32163,7 +32087,7 @@ - + @@ -32184,7 +32108,7 @@ - + @@ -32584,7 +32508,7 @@ - + @@ -33568,7 +33492,7 @@ - + @@ -33826,10 +33750,10 @@ - + - + @@ -34835,7 +34759,7 @@ - + @@ -36502,7 +36426,7 @@ - + @@ -36512,6 +36436,7 @@ + @@ -37023,7 +36948,7 @@ - + @@ -37107,41 +37032,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -37368,10 +37258,10 @@ - + - + @@ -37440,10 +37330,10 @@ - + - + @@ -37485,18 +37375,18 @@ - + - + - + - + - + @@ -37516,7 +37406,7 @@ - + @@ -37793,7 +37683,7 @@ - + @@ -39590,7 +39480,7 @@ - + @@ -39682,7 +39572,7 @@ - + @@ -40671,7 +40561,7 @@ - + @@ -40690,7 +40580,7 @@ - + @@ -41978,7 +41868,7 @@ - + @@ -42003,21 +41893,21 @@ - + - + - + - + - + - + @@ -42028,7 +41918,7 @@ - + @@ -42036,7 +41926,7 @@ - + @@ -42050,7 +41940,7 @@ - + @@ -42146,167 +42036,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -42524,7 +42253,7 @@ - + @@ -42612,9 +42341,9 @@ - + - + @@ -42626,18 +42355,18 @@ - + - + - + - + @@ -42663,7 +42392,7 @@ - + @@ -42689,7 +42418,7 @@ - + @@ -44262,11 +43991,11 @@ - + - + - + @@ -44275,12 +44004,12 @@ - + - + @@ -44291,7 +44020,7 @@ - + @@ -44299,13 +44028,13 @@ - + - + @@ -44319,14 +44048,6 @@ - - - - - - - - @@ -44569,7 +44290,7 @@ - + @@ -44577,7 +44298,7 @@ - + @@ -44585,7 +44306,7 @@ - + @@ -44631,6 +44352,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45496,10 +45307,10 @@ - + - + @@ -45595,10 +45406,10 @@ - + - + @@ -45782,7 +45593,7 @@ - + @@ -46001,7 +45812,7 @@ - + @@ -46147,7 +45958,7 @@ - + @@ -46202,7 +46013,7 @@ - + @@ -46265,10 +46076,10 @@ - + - + @@ -46280,7 +46091,7 @@ - + @@ -46305,7 +46116,7 @@ - + @@ -46324,7 +46135,7 @@ - + @@ -46509,35 +46320,13 @@ - + - + - - - - - - - - - - - - - - - - - - - - - - @@ -47481,10 +47270,10 @@ - + - + @@ -47994,10 +47783,10 @@ - + - + @@ -48105,7 +47894,7 @@ - + @@ -48121,7 +47910,7 @@ - + @@ -48129,13 +47918,13 @@ - + - + - + @@ -48143,7 +47932,7 @@ - + @@ -48627,10 +48416,10 @@ - + - + @@ -48685,7 +48474,7 @@ - + @@ -48694,7 +48483,7 @@ - + @@ -48728,7 +48517,7 @@ - + @@ -48751,7 +48540,7 @@ - + @@ -48855,7 +48644,7 @@ - + @@ -48864,7 +48653,7 @@ - + @@ -48890,7 +48679,7 @@ - + @@ -48912,7 +48701,7 @@ - + @@ -48921,7 +48710,7 @@ - + @@ -48932,7 +48721,7 @@ - + @@ -48991,10 +48780,10 @@ - + - + @@ -49173,7 +48962,7 @@ - + @@ -49191,7 +48980,7 @@ - + @@ -49207,10 +48996,10 @@ - + - + @@ -49241,13 +49030,13 @@ - + - + @@ -49368,15 +49157,15 @@ - + - + - + - + @@ -49389,26 +49178,26 @@ - + - + - + - + - + - + - + @@ -49416,7 +49205,7 @@ - + @@ -49426,10 +49215,10 @@ - + - + @@ -49517,13 +49306,13 @@ - + - + @@ -49576,13 +49365,13 @@ - + - + @@ -50916,10 +50705,10 @@ - + - + @@ -50931,7 +50720,7 @@ - + @@ -51579,7 +51368,7 @@ - + @@ -51587,7 +51376,7 @@ - + @@ -51595,7 +51384,7 @@ - + @@ -51893,7 +51682,7 @@ - + @@ -51985,7 +51774,7 @@ - + @@ -52003,7 +51792,7 @@ - + @@ -52036,7 +51825,7 @@ - + @@ -52054,7 +51843,7 @@ - + @@ -52280,7 +52069,7 @@ - + @@ -53280,183 +53069,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -53998,20 +53610,6 @@ - - - - - - - - - - - - - - @@ -54023,15 +53621,15 @@ - + - + - + @@ -54040,7 +53638,7 @@ - + @@ -54075,24 +53673,24 @@ - + - + - + - + - + @@ -54102,7 +53700,7 @@ - + @@ -54111,11 +53709,11 @@ - + - + @@ -54648,12 +54246,12 @@ - + - + - + @@ -55317,12 +54915,12 @@ - + - + @@ -55406,25 +55004,6 @@ - - - - - - - - - - - - - - - - - - - @@ -55441,15 +55020,15 @@ - + - + - + @@ -55619,7 +55198,7 @@ - + @@ -55633,7 +55212,7 @@ - + @@ -55681,7 +55260,7 @@ - + @@ -55691,7 +55270,7 @@ - + @@ -55737,37 +55316,37 @@ - + - + - + - + - + - + - + @@ -55976,28 +55555,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -56181,7 +55738,7 @@ - + @@ -56191,7 +55748,7 @@ - + @@ -57509,17 +57066,6 @@ - - - - - - - - - - - @@ -57773,12 +57319,6 @@ - - - - - - @@ -57786,7 +57326,7 @@ - + @@ -57799,13 +57339,19 @@ - + - + + + + + + + @@ -57817,13 +57363,13 @@ - + - + @@ -57832,7 +57378,7 @@ - + @@ -57842,7 +57388,7 @@ - + @@ -57856,7 +57402,7 @@ - + @@ -57872,7 +57418,7 @@ - + @@ -57903,7 +57449,7 @@ - + @@ -57912,7 +57458,7 @@ - + @@ -57927,11 +57473,11 @@ - + - + @@ -58427,7 +57973,7 @@ - + @@ -58445,7 +57991,7 @@ - + @@ -58472,7 +58018,7 @@ - + @@ -58693,13 +58239,13 @@ - + - + - + @@ -58723,7 +58269,7 @@ - + @@ -58741,13 +58287,13 @@ - + - + @@ -58756,7 +58302,7 @@ - + @@ -58765,11 +58311,11 @@ - + - + @@ -58778,7 +58324,7 @@ - + @@ -58932,7 +58478,7 @@ - + @@ -58970,244 +58516,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -59304,7 +58612,7 @@ - + @@ -59315,8 +58623,8 @@ - - + + @@ -59327,7 +58635,7 @@ - + @@ -59411,7 +58719,7 @@ - + @@ -59568,7 +58876,7 @@ - + @@ -59803,7 +59111,7 @@ - + @@ -59990,7 +59298,7 @@ - + @@ -60026,7 +59334,7 @@ - + @@ -60165,7 +59473,7 @@ - + @@ -60369,10 +59677,10 @@ - + - + @@ -60443,13 +59751,13 @@ - + - + - + @@ -60458,10 +59766,10 @@ - + - + @@ -60469,7 +59777,7 @@ - + @@ -60477,7 +59785,7 @@ - + @@ -60485,7 +59793,7 @@ - + @@ -60688,8 +59996,8 @@ - - + + @@ -60697,13 +60005,13 @@ - + - + @@ -60714,18 +60022,18 @@ - + - + - + - + @@ -60753,13 +60061,13 @@ - + - + @@ -61017,7 +60325,7 @@ - + @@ -61162,7 +60470,7 @@ - + @@ -61206,7 +60514,7 @@ - + @@ -61689,12 +60997,12 @@ - + - + - + @@ -61704,13 +61012,13 @@ - + - + @@ -61883,7 +61191,7 @@ - + @@ -62243,7 +61551,7 @@ - + @@ -62630,12 +61938,12 @@ - + - + @@ -62643,7 +61951,7 @@ - + @@ -62651,7 +61959,7 @@ - + @@ -62683,7 +61991,7 @@ - + @@ -62701,7 +62009,7 @@ - + @@ -62718,12 +62026,12 @@ - + - + @@ -62750,7 +62058,7 @@ - + @@ -63448,15 +62756,15 @@ - + - + - + @@ -63467,7 +62775,7 @@ - + @@ -63475,7 +62783,7 @@ - + @@ -63483,15 +62791,15 @@ - + - + - + @@ -63499,7 +62807,7 @@ - + @@ -63507,7 +62815,7 @@ - + @@ -63515,7 +62823,7 @@ - + @@ -63529,7 +62837,7 @@ - + @@ -63540,7 +62848,7 @@ - + @@ -63548,7 +62856,7 @@ - + @@ -63556,7 +62864,7 @@ - + @@ -63564,7 +62872,7 @@ - + @@ -63572,7 +62880,7 @@ - + @@ -63583,7 +62891,7 @@ - + @@ -63591,7 +62899,7 @@ - + @@ -63700,12 +63008,7 @@ - - - - - - + @@ -63788,7 +63091,7 @@ - + @@ -65608,7 +64911,7 @@ - + @@ -66305,7 +65608,7 @@ - + @@ -66316,7 +65619,7 @@ - + @@ -68687,18 +67990,18 @@ - + - + - + - + - + @@ -68706,7 +68009,7 @@ - + @@ -69085,20 +68388,6 @@ - - - - - - - - - - - - - - @@ -70067,14 +69356,6 @@ - - - - - - - - @@ -70086,20 +69367,6 @@ - - - - - - - - - - - - - - @@ -70842,7 +70109,7 @@ - + @@ -70850,7 +70117,7 @@ - + @@ -71741,10 +71008,10 @@ - + - + @@ -71797,10 +71064,10 @@ - + - + @@ -72408,7 +71675,7 @@ - + @@ -72422,7 +71689,7 @@ - + @@ -72462,10 +71729,10 @@ - + - + @@ -73189,19 +72456,19 @@ - + - + - + - + - + @@ -73209,7 +72476,7 @@ - + @@ -73220,7 +72487,7 @@ - + @@ -73228,7 +72495,7 @@ - + @@ -73239,7 +72506,7 @@ - + @@ -73248,7 +72515,7 @@ - + @@ -73382,17 +72649,17 @@ - - - + + + - - + + - - + + @@ -73854,7 +73121,7 @@ - + @@ -73901,7 +73168,7 @@ - + @@ -74161,7 +73428,7 @@ - + @@ -75521,7 +74788,7 @@ - + @@ -75542,7 +74809,7 @@ - + @@ -76944,12 +76211,7 @@ - - - - - - + @@ -78433,6 +77695,17 @@ + + + + + + + + + + + @@ -78897,23 +78170,6 @@ - - - - - - - - - - - - - - - - - @@ -80869,7 +80125,7 @@ - + @@ -81541,6 +80797,739 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -82698,31 +82687,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - @@ -83554,7 +83518,7 @@ - + @@ -84283,7 +84247,7 @@ - + @@ -84293,7 +84257,7 @@ - + @@ -84605,13 +84569,13 @@ - + - + @@ -84680,7 +84644,7 @@ - + @@ -84706,7 +84670,7 @@ - + @@ -84714,14 +84678,6 @@ - - - - - - - - @@ -85392,7 +85348,7 @@ - + @@ -85411,7 +85367,7 @@ - + @@ -85515,168 +85471,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -85918,14 +85713,6 @@ - - - - - - - - @@ -86201,6 +85988,16 @@ + + + + + + + + + + @@ -86492,24 +86289,15 @@ - + - + - - - - - - - - - - + - + @@ -86564,50 +86352,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86633,14 +86377,6 @@ - - - - - - - - @@ -86785,45 +86521,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86976,7 +86673,7 @@ - + @@ -86992,10 +86689,10 @@ - + - + @@ -87003,40 +86700,23 @@ - - - - - - - - - - - - - - - - - - + - + - + - + - + @@ -87050,7 +86730,7 @@ - + @@ -87070,9 +86750,9 @@ - + - + @@ -87158,7 +86838,7 @@ - + @@ -87269,92 +86949,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -87376,25 +86970,6 @@ - - - - - - - - - - - - - - - - - - - @@ -87531,7 +87106,7 @@ - + @@ -87579,7 +87154,7 @@ - + @@ -87764,7 +87339,7 @@ - + @@ -87776,15 +87351,15 @@ - + - + - + - + @@ -87801,7 +87376,7 @@ - + @@ -87932,7 +87507,7 @@ - + @@ -87980,6 +87555,23 @@ + + + + + + + + + + + + + + + + + @@ -88046,7 +87638,7 @@ - + @@ -88061,7 +87653,7 @@ - + @@ -88114,25 +87706,46 @@ - - + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + + @@ -88377,16 +87990,16 @@ - - + + - - + + @@ -88511,7 +88124,7 @@ - + @@ -88742,7 +88355,7 @@ - + @@ -88820,34 +88433,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -89373,7 +88958,7 @@ - + @@ -89411,7 +88996,7 @@ - + @@ -89502,7 +89087,7 @@ - + @@ -89550,15 +89135,15 @@ - + - + - + @@ -89696,9 +89281,9 @@ - + - + @@ -89723,7 +89308,7 @@ - + @@ -89732,7 +89317,7 @@ - + @@ -90260,17 +89845,6 @@ - - - - - - - - - - - @@ -90682,7 +90256,7 @@ - + @@ -91434,7 +91008,7 @@ - + @@ -91454,7 +91028,7 @@ - + @@ -91846,7 +91420,7 @@ - + @@ -92335,7 +91909,7 @@ - + @@ -92561,7 +92135,7 @@ - + @@ -92579,7 +92153,7 @@ - + @@ -93293,10 +92867,10 @@ - + - + @@ -93324,7 +92898,7 @@ - + @@ -93362,7 +92936,7 @@ - + @@ -93383,7 +92957,7 @@ - + @@ -93407,7 +92981,7 @@ - + @@ -93415,7 +92989,7 @@ - + @@ -93714,15 +93288,15 @@ - + - + - + @@ -93736,7 +93310,7 @@ - + @@ -93762,7 +93336,7 @@ - + @@ -93786,15 +93360,15 @@ - + - + - + @@ -93893,7 +93467,7 @@ - + @@ -93914,12 +93488,12 @@ - + - + @@ -93936,7 +93510,7 @@ - + @@ -94238,7 +93812,7 @@ - + @@ -94302,7 +93876,7 @@ - + @@ -95066,34 +94640,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -95862,7 +95408,7 @@ - + @@ -95909,7 +95455,7 @@ - + @@ -95957,10 +95503,10 @@ - + - + @@ -96073,8 +95619,8 @@ - - + + @@ -96198,7 +95744,7 @@ - + @@ -96381,7 +95927,7 @@ - + @@ -96851,7 +96397,7 @@ - + @@ -97056,8 +96602,8 @@ - - + + @@ -97344,13 +96890,13 @@ - + - + - + @@ -97392,7 +96938,7 @@ - + @@ -97402,7 +96948,7 @@ - + @@ -97410,7 +96956,7 @@ - + @@ -98806,8 +98352,8 @@ - - + + @@ -98823,7 +98369,7 @@ - + @@ -98928,16 +98474,16 @@ - + - + - + @@ -98964,7 +98510,7 @@ - + @@ -98972,7 +98518,7 @@ - + @@ -98980,7 +98526,7 @@ - + @@ -98994,7 +98540,7 @@ - + @@ -99010,7 +98556,7 @@ - + @@ -99049,23 +98595,23 @@ - + - + - + - + @@ -99075,7 +98621,7 @@ - + @@ -99085,7 +98631,7 @@ - + @@ -99104,10 +98650,10 @@ - + - + @@ -99230,7 +98776,7 @@ - + @@ -99242,7 +98788,7 @@ - + @@ -99273,7 +98819,7 @@ - + @@ -99285,7 +98831,7 @@ - + @@ -99336,10 +98882,10 @@ - + - + @@ -99368,7 +98914,7 @@ - + @@ -99376,7 +98922,7 @@ - + @@ -99823,7 +99369,7 @@ - + @@ -99837,7 +99383,7 @@ - + @@ -100225,7 +99771,7 @@ - + @@ -101509,7 +101055,7 @@ - + @@ -101517,7 +101063,7 @@ - + @@ -101525,7 +101071,7 @@ - + @@ -101533,7 +101079,7 @@ - + @@ -101547,15 +101093,15 @@ - + - + - + - + @@ -101563,7 +101109,7 @@ - + @@ -101611,34 +101157,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -101885,7 +101403,7 @@ - + @@ -102685,7 +102203,7 @@ - + @@ -102923,7 +102441,7 @@ - + @@ -102968,7 +102486,7 @@ - + @@ -103318,10 +102836,10 @@ - + - + @@ -104051,16 +103569,16 @@ - + - + - + @@ -104068,7 +103586,7 @@ - + @@ -104146,45 +103664,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -104314,8 +103793,8 @@ - - + + @@ -104402,14 +103881,6 @@ - - - - - - - - @@ -104523,7 +103994,7 @@ - + @@ -104559,7 +104030,7 @@ - + @@ -104612,12 +104083,12 @@ - + - + @@ -104630,12 +104101,12 @@ - + - + - + @@ -104652,15 +104123,15 @@ - + - + - + @@ -104682,7 +104153,7 @@ - + @@ -104772,23 +104243,6 @@ - - - - - - - - - - - - - - - - - @@ -104999,232 +104453,13 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -105232,145 +104467,134 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - @@ -105380,14 +104604,14 @@ - - - + + + - - - + + + @@ -105501,55 +104725,48 @@ - - + + - - - - + + + + - - - - - - + + + + + + - - - + + + - - + + - - - + + + - - + + - - - - + + + + - - - - - - - @@ -105557,10 +104774,6 @@ - - - - @@ -105625,15 +104838,15 @@ - + - + - + @@ -105855,28 +105068,28 @@ - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - + + @@ -105884,9 +105097,9 @@ - + - + @@ -105900,7 +105113,7 @@ - + @@ -105909,7 +105122,7 @@ - + @@ -106082,13 +105295,24 @@ + + + + + + + + + + + - + @@ -106117,7 +105341,7 @@ - + @@ -106128,7 +105352,7 @@ - + @@ -106139,7 +105363,7 @@ - + @@ -106297,20 +105521,6 @@ - - - - - - - - - - - - - - @@ -106777,13 +105987,13 @@ - + - + - + @@ -106892,7 +106102,7 @@ - + @@ -106903,7 +106113,7 @@ - + @@ -106914,7 +106124,7 @@ - + @@ -106956,7 +106166,7 @@ - + @@ -106965,9 +106175,9 @@ - + - + @@ -106983,10 +106193,10 @@ - + - + @@ -107287,10 +106497,10 @@ - + - + @@ -107429,7 +106639,7 @@ - + @@ -107509,15 +106719,15 @@ - + - + - + @@ -107646,7 +106856,7 @@ - + @@ -107709,7 +106919,7 @@ - + @@ -107928,7 +107138,7 @@ - + @@ -107957,7 +107167,7 @@ - + @@ -108216,10 +107426,10 @@ - + - + @@ -108270,7 +107480,7 @@ - + @@ -108284,25 +107494,6 @@ - - - - - - - - - - - - - - - - - - - @@ -108479,7 +107670,7 @@ - + @@ -108487,26 +107678,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -108514,7 +107686,7 @@ - + @@ -108547,7 +107719,7 @@ - + @@ -108589,26 +107761,26 @@ - + - + - + - + @@ -109070,7 +108242,7 @@ - + @@ -109162,7 +108334,7 @@ - + @@ -109232,7 +108404,7 @@ - + @@ -109240,7 +108412,7 @@ - + @@ -109254,7 +108426,7 @@ - + @@ -109262,7 +108434,7 @@ - + @@ -109270,32 +108442,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -109728,7 +108875,7 @@ - + @@ -110143,30 +109290,30 @@ - + - + - + - + - + - + - + - + - + @@ -110174,27 +109321,12 @@ - + - - - - - - - - - - - - - - - - + @@ -110315,7 +109447,7 @@ - + @@ -110325,7 +109457,7 @@ - + @@ -111023,52 +110155,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -111109,15 +110241,15 @@ - + - + - + @@ -111125,15 +110257,15 @@ - + - + - + @@ -111141,7 +110273,7 @@ - + @@ -111149,7 +110281,7 @@ - + @@ -111160,7 +110292,7 @@ - + @@ -111171,7 +110303,7 @@ - + @@ -111179,7 +110311,7 @@ - + @@ -111209,12 +110341,12 @@ - + - + - + @@ -111279,7 +110411,7 @@ - + @@ -111287,7 +110419,7 @@ - + @@ -111416,7 +110548,7 @@ - + @@ -111457,61 +110589,46 @@ - + - + - + - + - + - + - + - - - - - - + - - - - - - - - - - - + - + - + @@ -111520,40 +110637,30 @@ - + - + - + - + - + - + - + - - - - - - - - - - - + @@ -111561,21 +110668,6 @@ - - - - - - - - - - - - - - - @@ -111613,7 +110705,7 @@ - + @@ -111631,7 +110723,7 @@ - + @@ -111835,10 +110927,10 @@ - + - + @@ -111964,13 +111056,13 @@ - + - + @@ -112138,8 +111230,8 @@ - - + + @@ -112423,10 +111515,10 @@ - + - + @@ -112448,10 +111540,10 @@ - + - + @@ -112629,7 +111721,7 @@ - + @@ -112663,14 +111755,14 @@ - + - + @@ -112683,7 +111775,7 @@ - + @@ -112790,17 +111882,6 @@ - - - - - - - - - - - @@ -112978,14 +112059,6 @@ - - - - - - - - @@ -113007,10 +112080,10 @@ - + - + @@ -113018,14 +112091,6 @@ - - - - - - - - @@ -113044,25 +112109,6 @@ - - - - - - - - - - - - - - - - - - - @@ -113193,10 +112239,10 @@ - + - + @@ -113211,7 +112257,7 @@ - + @@ -113309,7 +112355,7 @@ - + @@ -113532,15 +112578,15 @@ - + - + - + - + @@ -113555,22 +112601,6 @@ - - - - - - - - - - - - - - - - @@ -113950,145 +112980,207 @@ - + + + + + + + + + + + + + - + + + + - - - - - - - - - - - - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - + + - - + + - - + + - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -114096,41 +113188,29 @@ - + - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + + + + + + + + + @@ -114202,6 +113282,17 @@ + + + + + + + + + + + @@ -114247,7 +113338,7 @@ - + @@ -114545,7 +113636,7 @@ - + @@ -115733,10 +114824,10 @@ - + - + @@ -115765,7 +114856,7 @@ - + @@ -116357,7 +115448,7 @@ - + @@ -117305,7 +116396,7 @@ - + @@ -117317,7 +116408,7 @@ - + @@ -118833,7 +117924,7 @@ - + @@ -118841,7 +117932,7 @@ - + @@ -118849,7 +117940,7 @@ - + @@ -118863,17 +117954,6 @@ - - - - - - - - - - - @@ -119562,7 +118642,6 @@ - @@ -119584,14 +118663,6 @@ - - - - - - - - @@ -119688,45 +118759,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -119740,12 +118811,12 @@ - + - + @@ -119756,7 +118827,7 @@ - + @@ -119770,7 +118841,7 @@ - + @@ -119784,12 +118855,7 @@ - - - - - - + @@ -119803,87 +118869,73 @@ - + - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -119897,7 +118949,7 @@ - + @@ -119905,7 +118957,7 @@ - + @@ -119930,7 +118982,7 @@ - + @@ -119961,7 +119013,7 @@ - + @@ -119981,7 +119033,7 @@ - + @@ -119998,7 +119050,7 @@ - + @@ -120009,23 +119061,7 @@ - - - - - - - - - - - - - - - - - + @@ -120033,7 +119069,7 @@ - + @@ -120041,7 +119077,7 @@ - + @@ -120049,7 +119085,7 @@ - + @@ -120063,7 +119099,7 @@ - + @@ -120071,7 +119107,7 @@ - + @@ -120082,7 +119118,7 @@ - + @@ -120107,7 +119143,7 @@ - + @@ -120324,7 +119360,7 @@ - + @@ -120332,7 +119368,7 @@ - + @@ -120346,15 +119382,15 @@ - + - + - + - + @@ -120362,23 +119398,6 @@ - - - - - - - - - - - - - - - - - @@ -120470,17 +119489,6 @@ - - - - - - - - - - - @@ -120553,7 +119561,7 @@ - + @@ -120562,7 +119570,7 @@ - + @@ -120571,7 +119579,7 @@ - + @@ -120622,25 +119630,6 @@ - - - - - - - - - - - - - - - - - - - @@ -120655,13 +119644,13 @@ - + - + @@ -120785,9 +119774,9 @@ - + - + @@ -120845,13 +119834,13 @@ - + - + @@ -120886,23 +119875,6 @@ - - - - - - - - - - - - - - - - - @@ -121587,31 +120559,31 @@ - + - + - + - + - + - + - + @@ -121622,7 +120594,7 @@ - + @@ -121633,7 +120605,7 @@ - + @@ -121650,7 +120622,7 @@ - + @@ -121667,7 +120639,7 @@ - + @@ -121676,24 +120648,24 @@ - + - + - + - + - + - + @@ -121701,7 +120673,7 @@ - + @@ -121709,7 +120681,7 @@ - + @@ -121717,7 +120689,7 @@ - + @@ -121740,7 +120712,7 @@ - + @@ -121818,20 +120790,12 @@ - + - - - - - - - - @@ -122698,7 +121662,7 @@ - + @@ -122866,7 +121830,7 @@ - + @@ -122937,9 +121901,6 @@ - - - @@ -123550,7 +122511,7 @@ - + @@ -123667,10 +122628,10 @@ - + - + @@ -123755,10 +122716,10 @@ - + - + @@ -123777,10 +122738,10 @@ - + - + @@ -124627,7 +123588,7 @@ - + @@ -125841,7 +124802,7 @@ - + @@ -126209,7 +125170,7 @@ - + @@ -126429,7 +125390,7 @@ - + @@ -126537,9 +125498,9 @@ - + - + @@ -126553,6 +125514,6 @@ diff --git a/android/abi_gki_aarch64_d6430e6763.xml b/android/abi_gki_aarch64_d6430e6763.xml index 637e934a7424..02a9e11f010b 100644 --- a/android/abi_gki_aarch64_d6430e6763.xml +++ b/android/abi_gki_aarch64_d6430e6763.xml @@ -1398,6 +1398,8 @@ + + @@ -2849,7 +2851,7 @@ - + @@ -2894,7 +2896,7 @@ - + @@ -3142,7 +3144,7 @@ - + @@ -3156,7 +3158,7 @@ - + @@ -3202,291 +3204,291 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + @@ -3605,60 +3607,60 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3815,7 +3817,7 @@ - + @@ -3829,7 +3831,7 @@ - + @@ -3990,41 +3992,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4148,34 +4115,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4556,10 +4495,10 @@ - + - + @@ -4884,7 +4823,7 @@ - + @@ -4976,22 +4915,6 @@ - - - - - - - - - - - - - - - - @@ -5059,20 +4982,6 @@ - - - - - - - - - - - - - - @@ -6265,7 +6174,7 @@ - + @@ -6295,7 +6204,7 @@ - + @@ -6305,7 +6214,7 @@ - + @@ -6407,7 +6316,7 @@ - + @@ -6929,21 +6838,6 @@ - - - - - - - - - - - - - - - @@ -7174,7 +7068,7 @@ - + @@ -7699,15 +7593,15 @@ - + - + - + - + @@ -7724,7 +7618,7 @@ - + @@ -7937,7 +7831,7 @@ - + @@ -7995,15 +7889,15 @@ - + - + - + @@ -8251,7 +8145,7 @@ - + @@ -8360,12 +8254,12 @@ - + - + @@ -9133,7 +9027,7 @@ - + @@ -9322,7 +9216,7 @@ - + @@ -9894,12 +9788,12 @@ - + - + @@ -11480,12 +11374,7 @@ - - - - - - + @@ -12328,13 +12217,13 @@ - + - + @@ -12732,7 +12621,7 @@ - + @@ -14511,7 +14400,7 @@ - + @@ -14532,7 +14421,7 @@ - + @@ -15598,7 +15487,7 @@ - + @@ -16030,10 +15919,10 @@ - + - + @@ -16546,7 +16435,7 @@ - + @@ -17608,7 +17497,7 @@ - + @@ -18716,7 +18605,7 @@ - + @@ -18730,12 +18619,12 @@ - + - + - + @@ -19803,49 +19692,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19917,17 +19763,6 @@ - - - - - - - - - - - @@ -20069,10 +19904,10 @@ - + - + @@ -20141,10 +19976,10 @@ - + - + @@ -20186,18 +20021,18 @@ - + - + - + - + - + @@ -20217,7 +20052,7 @@ - + @@ -20461,7 +20296,7 @@ - + @@ -20838,7 +20673,7 @@ - + @@ -20930,7 +20765,7 @@ - + @@ -21754,7 +21589,7 @@ - + @@ -21779,21 +21614,21 @@ - + - + - + - + - + - + @@ -21804,7 +21639,7 @@ - + @@ -21812,7 +21647,7 @@ - + @@ -21826,7 +21661,7 @@ - + @@ -22073,7 +21908,7 @@ - + @@ -22140,7 +21975,7 @@ - + @@ -22369,6 +22204,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -22536,7 +22464,7 @@ - + @@ -22727,7 +22655,7 @@ - + @@ -22873,7 +22801,7 @@ - + @@ -22928,7 +22856,7 @@ - + @@ -22991,10 +22919,10 @@ - + - + @@ -23006,7 +22934,7 @@ - + @@ -23031,7 +22959,7 @@ - + @@ -23050,7 +22978,7 @@ - + @@ -23215,9 +23143,9 @@ - + - + @@ -24078,10 +24006,10 @@ - + - + @@ -24591,10 +24519,10 @@ - + - + @@ -24645,28 +24573,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -24724,7 +24630,7 @@ - + @@ -24740,7 +24646,7 @@ - + @@ -24748,13 +24654,13 @@ - + - + - + @@ -24762,7 +24668,7 @@ - + @@ -25246,10 +25152,10 @@ - + - + @@ -25304,7 +25210,7 @@ - + @@ -25313,7 +25219,7 @@ - + @@ -25347,7 +25253,7 @@ - + @@ -25370,7 +25276,7 @@ - + @@ -25474,7 +25380,7 @@ - + @@ -25483,7 +25389,7 @@ - + @@ -25518,7 +25424,7 @@ - + @@ -25540,7 +25446,7 @@ - + @@ -25549,7 +25455,7 @@ - + @@ -25560,7 +25466,7 @@ - + @@ -25619,10 +25525,10 @@ - + - + @@ -25801,7 +25707,7 @@ - + @@ -25819,7 +25725,7 @@ - + @@ -25835,10 +25741,10 @@ - + - + @@ -25869,13 +25775,13 @@ - + - + @@ -25996,15 +25902,15 @@ - + - + - + - + @@ -26017,26 +25923,26 @@ - + - + - + - + - + - + - + @@ -26044,7 +25950,7 @@ - + @@ -26054,10 +25960,10 @@ - + - + @@ -26145,13 +26051,13 @@ - + - + @@ -26204,13 +26110,13 @@ - + - + @@ -27501,10 +27407,10 @@ - + - + @@ -27516,7 +27422,7 @@ - + @@ -28164,7 +28070,7 @@ - + @@ -28172,7 +28078,7 @@ - + @@ -28180,7 +28086,7 @@ - + @@ -28478,7 +28384,7 @@ - + @@ -28570,7 +28476,7 @@ - + @@ -28588,7 +28494,7 @@ - + @@ -28621,7 +28527,7 @@ - + @@ -28639,7 +28545,7 @@ - + @@ -28861,7 +28767,7 @@ - + @@ -30300,7 +30206,7 @@ - + @@ -30308,15 +30214,7 @@ - - - - - - - - - + @@ -30852,24 +30750,24 @@ - + - + - + - + - + @@ -30878,21 +30776,21 @@ - + - + - + - + @@ -31036,7 +30934,7 @@ - + @@ -31455,17 +31353,6 @@ - - - - - - - - - - - @@ -31724,26 +31611,18 @@ - - - - - - - - - + - + - + @@ -31798,13 +31677,13 @@ - + - + @@ -31823,7 +31702,7 @@ - + @@ -31966,10 +31845,10 @@ - + - + @@ -31991,10 +31870,10 @@ - + - + @@ -32028,7 +31907,7 @@ - + @@ -32072,7 +31951,7 @@ - + @@ -32300,26 +32179,12 @@ - - - - - - - - - - - - - - - + - + @@ -32352,7 +32217,7 @@ - + @@ -32360,7 +32225,7 @@ - + @@ -32368,7 +32233,7 @@ - + @@ -32381,17 +32246,6 @@ - - - - - - - - - - - @@ -32486,7 +32340,7 @@ - + @@ -32507,14 +32361,14 @@ - + - + @@ -32523,17 +32377,17 @@ - + - + - + @@ -32546,7 +32400,7 @@ - + @@ -32562,17 +32416,17 @@ - + - + - + @@ -32595,12 +32449,12 @@ - + - + @@ -32617,12 +32471,12 @@ - + - + @@ -32632,7 +32486,7 @@ - + @@ -32647,12 +32501,12 @@ - + - + - + @@ -32670,7 +32524,7 @@ - + @@ -34134,11 +33988,11 @@ - + - + @@ -34146,7 +34000,7 @@ - + @@ -34171,11 +34025,11 @@ - + - + @@ -35657,7 +35511,7 @@ - + @@ -35668,7 +35522,7 @@ - + @@ -36116,41 +35970,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -39637,23 +39456,6 @@ - - - - - - - - - - - - - - - - - @@ -39874,109 +39676,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -40115,25 +39815,6 @@ - - - - - - - - - - - - - - - - - - - @@ -40164,6 +39845,22 @@ + + + + + + + + + + + + + + + + @@ -40188,7 +39885,7 @@ - + @@ -40196,15 +39893,7 @@ - - - - - - - - - + @@ -40822,10 +40511,10 @@ - + - + @@ -40878,10 +40567,10 @@ - + - + @@ -40936,7 +40625,7 @@ - + @@ -40970,7 +40659,7 @@ - + @@ -41494,7 +41183,7 @@ - + @@ -41508,7 +41197,7 @@ - + @@ -41548,10 +41237,10 @@ - + - + @@ -42059,19 +41748,19 @@ - + - + - + - + - + @@ -42079,7 +41768,7 @@ - + @@ -42090,7 +41779,7 @@ - + @@ -42098,7 +41787,7 @@ - + @@ -42109,7 +41798,7 @@ - + @@ -42118,7 +41807,7 @@ - + @@ -42509,7 +42198,7 @@ - + @@ -42562,7 +42251,7 @@ - + @@ -44511,7 +44200,7 @@ - + @@ -44530,7 +44219,7 @@ - + @@ -48317,7 +48006,7 @@ - + @@ -49819,7 +49508,7 @@ - + @@ -50569,7 +50258,7 @@ - + @@ -50579,16 +50268,6 @@ - - - - - - - - - - @@ -50620,41 +50299,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -50679,10 +50323,10 @@ - + - + @@ -50700,7 +50344,7 @@ - + @@ -50991,7 +50635,7 @@ - + @@ -51019,7 +50663,7 @@ - + @@ -51217,23 +50861,6 @@ - - - - - - - - - - - - - - - - - @@ -51303,20 +50930,6 @@ - - - - - - - - - - - - - - @@ -51325,7 +50938,7 @@ - + @@ -51463,23 +51076,6 @@ - - - - - - - - - - - - - - - - - @@ -51591,43 +51187,22 @@ - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - - - + + @@ -51681,7 +51256,7 @@ - + @@ -51896,7 +51471,7 @@ - + @@ -51911,7 +51486,7 @@ - + @@ -51947,7 +51522,7 @@ - + @@ -51955,7 +51530,7 @@ - + @@ -52167,167 +51742,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -52362,10 +51776,10 @@ - + - + @@ -52373,7 +51787,7 @@ - + @@ -52381,7 +51795,7 @@ - + @@ -52928,7 +52342,7 @@ - + @@ -53323,7 +52737,7 @@ - + @@ -53415,24 +52829,24 @@ - + - - + + - + - + @@ -53588,8 +53002,8 @@ - - + + @@ -53599,10 +53013,10 @@ - + - + @@ -53615,12 +53029,12 @@ - + - + - + @@ -53633,10 +53047,10 @@ - + - + @@ -53692,7 +53106,7 @@ - + @@ -53745,7 +53159,7 @@ - + @@ -53763,7 +53177,7 @@ - + @@ -54531,7 +53945,7 @@ - + @@ -54645,7 +54059,7 @@ - + @@ -54654,7 +54068,7 @@ - + @@ -54679,21 +54093,21 @@ - + - + - + - + @@ -54740,7 +54154,7 @@ - + @@ -54812,7 +54226,7 @@ - + @@ -54833,7 +54247,7 @@ - + @@ -54845,7 +54259,7 @@ - + @@ -54872,16 +54286,16 @@ - - + + - - + + @@ -55642,7 +55056,7 @@ - + @@ -57357,7 +56771,7 @@ - + @@ -57693,7 +57107,7 @@ - + @@ -57737,13 +57151,13 @@ - + - + @@ -57904,8 +57318,8 @@ - - + + @@ -58081,7 +57495,7 @@ - + @@ -58098,7 +57512,7 @@ - + @@ -58110,7 +57524,7 @@ - + @@ -58137,10 +57551,10 @@ - + - + @@ -58148,7 +57562,7 @@ - + @@ -58156,7 +57570,7 @@ - + @@ -58165,12 +57579,12 @@ - + - + @@ -58178,7 +57592,7 @@ - + @@ -58190,15 +57604,15 @@ - + - + - + @@ -58217,7 +57631,7 @@ - + @@ -58234,12 +57648,12 @@ - + - + @@ -58250,7 +57664,7 @@ - + @@ -58409,15 +57823,15 @@ - + - + - + @@ -58431,7 +57845,7 @@ - + @@ -58949,7 +58363,7 @@ - + @@ -59056,22 +58470,22 @@ - + - + - + - + @@ -59357,7 +58771,7 @@ - + @@ -59417,21 +58831,21 @@ - + - + - + - + - + - + @@ -59451,7 +58865,7 @@ - + @@ -59459,7 +58873,7 @@ - + @@ -59471,7 +58885,7 @@ - + @@ -59497,7 +58911,7 @@ - + @@ -59999,8 +59413,8 @@ - - + + @@ -60029,8 +59443,8 @@ - - + + @@ -60317,7 +59731,7 @@ - + @@ -60523,8 +59937,8 @@ - - + + @@ -60905,13 +60319,13 @@ - + - + - + @@ -60953,7 +60367,7 @@ - + @@ -60979,10 +60393,10 @@ - + - + @@ -60991,7 +60405,7 @@ - + @@ -61178,13 +60592,13 @@ - + - + - + @@ -61214,7 +60628,7 @@ - + @@ -61333,7 +60747,7 @@ - + @@ -61344,7 +60758,7 @@ - + @@ -61520,21 +60934,21 @@ - - + + - - + + - - + + @@ -62228,13 +61642,13 @@ - - + + - + @@ -62250,10 +61664,10 @@ - + - + @@ -62294,7 +61708,7 @@ - + @@ -63020,10 +62434,10 @@ - + - + @@ -63039,28 +62453,28 @@ - + - + - + - + - + - + - + - + @@ -63068,7 +62482,7 @@ - + @@ -63092,7 +62506,7 @@ - + @@ -63103,7 +62517,7 @@ - + @@ -63121,26 +62535,26 @@ - + - + - + - + - + - + @@ -63151,7 +62565,7 @@ - + @@ -63159,7 +62573,7 @@ - + @@ -63167,7 +62581,7 @@ - + @@ -63178,8 +62592,8 @@ - - + + @@ -63307,7 +62721,7 @@ - + @@ -63329,9 +62743,9 @@ - + - + @@ -63341,10 +62755,10 @@ - + - + @@ -63404,7 +62818,7 @@ - + @@ -63475,7 +62889,7 @@ - + @@ -63561,7 +62975,7 @@ - + @@ -63585,15 +62999,15 @@ - + - + - + @@ -63703,7 +63117,7 @@ - + @@ -63724,12 +63138,12 @@ - + - + @@ -63746,7 +63160,7 @@ - + @@ -63760,8 +63174,8 @@ - - + + @@ -63796,7 +63210,7 @@ - + @@ -63841,7 +63255,7 @@ - + @@ -64274,13 +63688,13 @@ - + - + @@ -64291,8 +63705,8 @@ - - + + @@ -64714,8 +64128,8 @@ - - + + @@ -65022,7 +64436,7 @@ - + @@ -65054,8 +64468,8 @@ - - + + @@ -65063,21 +64477,21 @@ - + - + - + - + @@ -65144,7 +64558,7 @@ - + @@ -65169,7 +64583,7 @@ - + @@ -65177,7 +64591,7 @@ - + @@ -65208,18 +64622,18 @@ - + - + - + - + @@ -65335,7 +64749,7 @@ - + @@ -65723,8 +65137,8 @@ - - + + @@ -65740,7 +65154,7 @@ - + @@ -65845,16 +65259,16 @@ - + - + - + @@ -65881,7 +65295,7 @@ - + @@ -65889,7 +65303,7 @@ - + @@ -65897,7 +65311,7 @@ - + @@ -65911,7 +65325,7 @@ - + @@ -65927,7 +65341,7 @@ - + @@ -65966,23 +65380,23 @@ - + - + - + - + @@ -65992,7 +65406,7 @@ - + @@ -66002,7 +65416,7 @@ - + @@ -66021,10 +65435,10 @@ - + - + @@ -66158,7 +65572,7 @@ - + @@ -66170,7 +65584,7 @@ - + @@ -66201,7 +65615,7 @@ - + @@ -66213,7 +65627,7 @@ - + @@ -66264,10 +65678,10 @@ - + - + @@ -66296,7 +65710,7 @@ - + @@ -66304,7 +65718,7 @@ - + @@ -66409,7 +65823,7 @@ - + @@ -66627,7 +66041,7 @@ - + @@ -68930,7 +68344,7 @@ - + @@ -68938,7 +68352,7 @@ - + @@ -68952,7 +68366,7 @@ - + @@ -68960,7 +68374,7 @@ - + @@ -68968,7 +68382,7 @@ - + @@ -68976,7 +68390,7 @@ - + @@ -68984,7 +68398,7 @@ - + @@ -68995,7 +68409,7 @@ - + @@ -69003,7 +68417,7 @@ - + @@ -69011,7 +68425,7 @@ - + @@ -69019,7 +68433,7 @@ - + @@ -69030,7 +68444,7 @@ - + @@ -69038,7 +68452,7 @@ - + @@ -69046,7 +68460,7 @@ - + @@ -69054,7 +68468,7 @@ - + @@ -69062,10 +68476,10 @@ - + - + @@ -69079,7 +68493,7 @@ - + @@ -69087,26 +68501,26 @@ - + - + - + - + - + - + - + @@ -69115,12 +68529,12 @@ - + - + @@ -69136,7 +68550,7 @@ - + @@ -69149,7 +68563,7 @@ - + @@ -69160,7 +68574,7 @@ - + @@ -69168,7 +68582,7 @@ - + @@ -69178,29 +68592,29 @@ - + - + - + - + - + - + @@ -69211,7 +68625,7 @@ - + @@ -69219,16 +68633,16 @@ - - + + - + - + @@ -69236,7 +68650,7 @@ - + @@ -69244,7 +68658,7 @@ - + @@ -69254,15 +68668,15 @@ - + - + - + @@ -69270,7 +68684,7 @@ - + @@ -69281,90 +68695,14 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -69400,7 +68738,7 @@ - + @@ -69408,33 +68746,33 @@ - + - + - + - + - + - + @@ -69447,7 +68785,7 @@ - + @@ -69472,25 +68810,6 @@ - - - - - - - - - - - - - - - - - - - @@ -69501,7 +68820,7 @@ - + @@ -69583,11 +68902,11 @@ - + - + @@ -69655,7 +68974,7 @@ - + @@ -69689,7 +69008,7 @@ - + @@ -69941,7 +69260,7 @@ - + @@ -69960,7 +69279,7 @@ - + @@ -70014,7 +69333,7 @@ - + @@ -70032,7 +69351,7 @@ - + @@ -70059,7 +69378,7 @@ - + @@ -70280,13 +69599,13 @@ - + - + - + @@ -70310,7 +69629,7 @@ - + @@ -70328,13 +69647,13 @@ - + - + @@ -70343,7 +69662,7 @@ - + @@ -70352,11 +69671,11 @@ - + - + @@ -70365,7 +69684,7 @@ - + @@ -70519,7 +69838,7 @@ - + @@ -70567,7 +69886,7 @@ - + @@ -70581,23 +69900,23 @@ - + - + - + - + - + - + - + @@ -70644,7 +69963,7 @@ - + @@ -70929,7 +70248,7 @@ - + @@ -71015,7 +70334,7 @@ - + @@ -71328,18 +70647,18 @@ - + - + - + - + @@ -71408,10 +70727,10 @@ - + - + @@ -71434,8 +70753,8 @@ - - + + @@ -71443,8 +70762,8 @@ - - + + @@ -71452,8 +70771,8 @@ - - + + @@ -71476,14 +70795,14 @@ - - + + - - + + @@ -71491,8 +70810,8 @@ - - + + @@ -71503,8 +70822,8 @@ - - + + @@ -71556,8 +70875,8 @@ - - + + @@ -72072,7 +71391,7 @@ - + @@ -72105,7 +71424,7 @@ - + @@ -72118,9 +71437,9 @@ - + - + @@ -72130,20 +71449,20 @@ - + - + - + - + @@ -72213,7 +71532,7 @@ - + @@ -72370,7 +71689,7 @@ - + @@ -72380,7 +71699,7 @@ - + @@ -72388,7 +71707,7 @@ - + @@ -72396,7 +71715,7 @@ - + @@ -72457,7 +71776,7 @@ - + @@ -72470,7 +71789,7 @@ - + @@ -72486,9 +71805,9 @@ - + - + @@ -72499,7 +71818,7 @@ - + @@ -72518,25 +71837,25 @@ - + - + - + - + - + - + - + @@ -72574,7 +71893,7 @@ - + @@ -72582,7 +71901,7 @@ - + @@ -72620,7 +71939,7 @@ - + @@ -72634,7 +71953,7 @@ - + @@ -72645,7 +71964,7 @@ - + @@ -72665,7 +71984,7 @@ - + @@ -72673,7 +71992,7 @@ - + @@ -73002,7 +72321,7 @@ - + @@ -73466,7 +72785,7 @@ - + @@ -73666,7 +72985,7 @@ - + @@ -73819,7 +73138,7 @@ - + @@ -73866,7 +73185,7 @@ - + @@ -74070,12 +73389,12 @@ - + - + - + @@ -74085,13 +73404,13 @@ - + - + @@ -74264,7 +73583,7 @@ - + @@ -74718,7 +74037,7 @@ - + @@ -74762,32 +74081,32 @@ - + - + - + - + - + - + - + - + - + - + @@ -74875,15 +74194,15 @@ - + - + - + @@ -74892,7 +74211,7 @@ - + @@ -74918,8 +74237,8 @@ - - + + @@ -74930,7 +74249,7 @@ - + @@ -75161,169 +74480,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -75331,13 +74489,13 @@ - + - + @@ -75348,18 +74506,18 @@ - + - + - + - + @@ -75543,10 +74701,10 @@ - + - + @@ -75616,13 +74774,13 @@ - + - + - + @@ -75631,10 +74789,10 @@ - + - + @@ -75642,7 +74800,7 @@ - + @@ -75650,7 +74808,7 @@ - + @@ -75659,7 +74817,7 @@ - + @@ -75855,10 +75013,10 @@ - + - + @@ -77666,23 +76824,23 @@ - + - + - + - + - + @@ -77690,7 +76848,7 @@ - + @@ -77698,7 +76856,7 @@ - + @@ -77712,7 +76870,7 @@ - + @@ -77723,7 +76881,7 @@ - + @@ -77731,7 +76889,7 @@ - + @@ -77739,7 +76897,7 @@ - + @@ -77747,7 +76905,7 @@ - + @@ -77758,7 +76916,7 @@ - + @@ -77766,7 +76924,7 @@ - + @@ -77774,7 +76932,7 @@ - + @@ -77785,7 +76943,7 @@ - + @@ -77799,7 +76957,7 @@ - + @@ -77819,7 +76977,7 @@ - + @@ -78288,7 +77446,7 @@ - + @@ -78418,7 +77576,7 @@ - + @@ -78426,7 +77584,7 @@ - + @@ -78658,23 +77816,6 @@ - - - - - - - - - - - - - - - - - @@ -79461,7 +78602,7 @@ - + @@ -79508,7 +78649,7 @@ - + @@ -79556,10 +78697,10 @@ - + - + @@ -79672,8 +78813,8 @@ - - + + @@ -79797,7 +78938,7 @@ - + @@ -79966,7 +79107,7 @@ - + @@ -80700,7 +79841,7 @@ - + @@ -80721,7 +79862,7 @@ - + @@ -81008,9 +80149,9 @@ - + - + @@ -81580,9 +80721,9 @@ - + - + @@ -81594,18 +80735,18 @@ - + - + - + - + @@ -81631,7 +80772,7 @@ - + @@ -82368,11 +81509,11 @@ - + - + - + @@ -82381,12 +81522,12 @@ - + - + @@ -82397,7 +81538,7 @@ - + @@ -82405,7 +81546,7 @@ - + @@ -82415,13 +81556,13 @@ - + - + @@ -82435,25 +81576,14 @@ - + - + - + - - - - - - - - - - - @@ -82483,15 +81613,7 @@ - - - - - - - - - + @@ -82499,7 +81621,7 @@ - + @@ -82809,7 +81931,7 @@ - + @@ -82934,7 +82056,7 @@ - + @@ -82942,7 +82064,7 @@ - + @@ -83082,7 +82204,7 @@ - + @@ -83189,7 +82311,7 @@ - + @@ -83717,16 +82839,16 @@ - - + + - - + + @@ -83771,23 +82893,6 @@ - - - - - - - - - - - - - - - - - @@ -83873,7 +82978,7 @@ - + @@ -84258,10 +83363,10 @@ - + - + @@ -84289,7 +83394,7 @@ - + @@ -84327,7 +83432,7 @@ - + @@ -84348,7 +83453,7 @@ - + @@ -84372,7 +83477,7 @@ - + @@ -84380,167 +83485,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -84818,7 +83762,7 @@ - + @@ -84882,7 +83826,7 @@ - + @@ -85709,7 +84653,7 @@ - + @@ -85795,7 +84739,7 @@ - + @@ -85816,7 +84760,7 @@ - + @@ -86291,35 +85235,18 @@ - - - - - - - - - - - - - - - - - - + - + - + @@ -86502,7 +85429,7 @@ - + @@ -86625,7 +85552,7 @@ - + @@ -86670,7 +85597,7 @@ - + @@ -87661,16 +86588,16 @@ - + - + - + @@ -87678,7 +86605,7 @@ - + @@ -87769,21 +86696,21 @@ - + - + - + - + - + @@ -87797,7 +86724,7 @@ - + @@ -87817,184 +86744,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -88158,43 +86907,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -88344,23 +87058,6 @@ - - - - - - - - - - - - - - - - - @@ -88454,12 +87151,12 @@ - + - + @@ -88472,12 +87169,12 @@ - + - + - + @@ -88494,15 +87191,15 @@ - + - + - + @@ -88524,7 +87221,7 @@ - + @@ -88596,102 +87293,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -88709,17 +87310,6 @@ - - - - - - - - - - - @@ -88904,7 +87494,7 @@ - + @@ -89164,15 +87754,7 @@ - - - - - - - - - + @@ -89180,26 +87762,7 @@ - - - - - - - - - - - - - - - - - - - - + @@ -89207,7 +87770,7 @@ - + @@ -89215,7 +87778,7 @@ - + @@ -89223,129 +87786,129 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -89595,15 +88158,15 @@ - + - + - + @@ -89743,7 +88306,7 @@ - + @@ -89774,7 +88337,7 @@ - + @@ -89815,61 +88378,46 @@ - + - + - + - + - + - + - + - - - - - - + - - - - - - - - - - - + - + - + @@ -89878,40 +88426,30 @@ - + - + - + - + - + - + - + - - - - - - - - - - - + @@ -89919,22 +88457,7 @@ - - - - - - - - - - - - - - - - + @@ -90138,10 +88661,10 @@ - + - + @@ -90283,17 +88806,6 @@ - - - - - - - - - - - @@ -90370,11 +88882,11 @@ - - - - - + + + + + @@ -90390,14 +88902,6 @@ - - - - - - - - @@ -90444,8 +88948,8 @@ - - + + @@ -90578,7 +89082,7 @@ - + @@ -90623,7 +89127,7 @@ - + @@ -90917,14 +89421,6 @@ - - - - - - - - @@ -90973,7 +89469,7 @@ - + @@ -91160,17 +89656,6 @@ - - - - - - - - - - - @@ -91265,34 +89750,15 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - + @@ -91338,7 +89804,7 @@ - + @@ -91463,7 +89929,7 @@ - + @@ -91764,7 +90230,7 @@ - + @@ -92952,10 +91418,10 @@ - + - + @@ -92984,7 +91450,7 @@ - + @@ -93576,7 +92042,7 @@ - + @@ -94524,7 +92990,7 @@ - + @@ -94536,7 +93002,7 @@ - + @@ -96007,7 +94473,7 @@ - + @@ -96015,7 +94481,7 @@ - + @@ -96023,15 +94489,15 @@ - + - + - + @@ -96039,15 +94505,15 @@ - + - + - + @@ -96055,7 +94521,7 @@ - + @@ -96063,7 +94529,26 @@ - + + + + + + + + + + + + + + + + + + + + @@ -96077,7 +94562,7 @@ - + @@ -96085,7 +94570,7 @@ - + @@ -96096,7 +94581,7 @@ - + @@ -96107,7 +94592,7 @@ - + @@ -96115,7 +94600,7 @@ - + @@ -96123,52 +94608,52 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96751,7 +95236,7 @@ - + @@ -96759,7 +95244,7 @@ - + @@ -96767,15 +95252,7 @@ - - - - - - - - - + @@ -96783,7 +95260,7 @@ - + @@ -96873,45 +95350,45 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -96925,12 +95402,12 @@ - + - + @@ -96941,7 +95418,7 @@ - + @@ -96955,7 +95432,7 @@ - + @@ -96969,12 +95446,7 @@ - - - - - - + @@ -96988,87 +95460,73 @@ - + - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -97082,7 +95540,7 @@ - + @@ -97090,7 +95548,7 @@ - + @@ -97115,7 +95573,7 @@ - + @@ -97146,7 +95604,7 @@ - + @@ -97166,7 +95624,7 @@ - + @@ -97183,7 +95641,7 @@ - + @@ -97194,23 +95652,7 @@ - - - - - - - - - - - - - - - - - + @@ -97218,7 +95660,7 @@ - + @@ -97226,7 +95668,7 @@ - + @@ -97234,7 +95676,7 @@ - + @@ -97248,7 +95690,7 @@ - + @@ -97256,7 +95698,7 @@ - + @@ -97267,7 +95709,7 @@ - + @@ -97292,7 +95734,7 @@ - + @@ -97494,80 +95936,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -97593,7 +95961,7 @@ - + @@ -97640,25 +96008,6 @@ - - - - - - - - - - - - - - - - - - - @@ -97978,23 +96327,6 @@ - - - - - - - - - - - - - - - - - @@ -98036,20 +96368,6 @@ - - - - - - - - - - - - - - @@ -98071,10 +96389,10 @@ - + - + @@ -98082,25 +96400,6 @@ - - - - - - - - - - - - - - - - - - - @@ -98138,7 +96437,7 @@ - + @@ -98322,31 +96621,31 @@ - + - + - + - + - + - + - + @@ -98357,7 +96656,7 @@ - + @@ -98368,7 +96667,7 @@ - + @@ -98385,7 +96684,7 @@ - + @@ -98402,7 +96701,7 @@ - + @@ -98411,24 +96710,24 @@ - + - + - + - + - + - + @@ -98436,7 +96735,7 @@ - + @@ -98444,7 +96743,7 @@ - + @@ -98452,7 +96751,7 @@ - + @@ -98475,7 +96774,7 @@ - + @@ -98553,20 +96852,12 @@ - + - - - - - - - - @@ -98860,7 +97151,7 @@ - + @@ -99034,7 +97325,7 @@ - + @@ -99708,7 +97999,7 @@ - + @@ -99825,10 +98116,10 @@ - + - + @@ -99913,10 +98204,10 @@ - + - + @@ -99935,10 +98226,10 @@ - + - + @@ -101145,7 +99436,7 @@ - + @@ -102102,7 +100393,7 @@ - + @@ -102348,7 +100639,7 @@ - + @@ -102743,7 +101034,7 @@ - + @@ -102804,9 +101095,9 @@ - + - + diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 622ee8f26c52..7768f28678a5 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -1326,6 +1326,8 @@ kvmalloc_node kzfree led_blink_set + led_classdev_flash_register_ext + led_classdev_flash_unregister led_classdev_register_ext led_classdev_unregister led_get_default_pattern diff --git a/android/abi_gki_aarch64_unisoc b/android/abi_gki_aarch64_unisoc index e5e7c37c46e0..a743719eb889 100644 --- a/android/abi_gki_aarch64_unisoc +++ b/android/abi_gki_aarch64_unisoc @@ -2487,3 +2487,13 @@ # required by sprd_sip_svc.ko __arm_smccc_smc + +# required by mali_gondul.ko + bpf_trace_run5 + ktime_get_raw + of_machine_is_compatible + _totalram_pages + trace_output_call + trace_print_array_seq + trace_print_flags_seq + vmf_insert_pfn_prot diff --git a/android/abi_gki_aarch64_workarounds b/android/abi_gki_aarch64_workarounds new file mode 100644 index 000000000000..3e4b6d16c687 --- /dev/null +++ b/android/abi_gki_aarch64_workarounds @@ -0,0 +1,3 @@ +[abi_whitelist] + # b/167230325 + ehci_handshake diff --git a/arch/arm64/configs/vendor/lahaina_GKI.config b/arch/arm64/configs/vendor/lahaina_GKI.config index 6d0b919b61ce..898735f6425d 100644 --- a/arch/arm64/configs/vendor/lahaina_GKI.config +++ b/arch/arm64/configs/vendor/lahaina_GKI.config @@ -136,10 +136,8 @@ CONFIG_QCOM_LAZY_MAPPING=m CONFIG_MFD_SPMI_PMIC=m CONFIG_PWM_QTI_LPG=m CONFIG_INTERCONNECT_QCOM_EPSS_L3=m -CONFIG_LEDS_CLASS_FLASH=m CONFIG_LEDS_QTI_FLASH=m CONFIG_LEDS_QTI_TRI_LED=m -CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_MSM_SPCOM=m CONFIG_MSM_ADSPRPC=m CONFIG_MSM_RDBG=m diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c index 915bb1639763..14863ad89f81 100644 --- a/arch/x86/power/cpu.c +++ b/arch/x86/power/cpu.c @@ -268,6 +268,19 @@ static void notrace __restore_processor_state(struct saved_context *ctxt) /* Needed by apm.c */ void notrace restore_processor_state(void) { +#ifdef __clang__ + // The following code snippet is copied from __restore_processor_state. + // Its purpose is to prepare GS segment before the function is called. + // Since the function is compiled with SCS on, it will use GS at its + // entry. + // TODO: Hack to be removed later when compiler bug is fixed. +#ifdef CONFIG_X86_64 + wrmsrl(MSR_GS_BASE, saved_context.kernelmode_gs_base); +#else + loadsegment(fs, __KERNEL_PERCPU); + loadsegment(gs, __KERNEL_STACK_CANARY); +#endif +#endif __restore_processor_state(&saved_context); } #ifdef CONFIG_X86_32 diff --git a/build.config.gki.aarch64 b/build.config.gki.aarch64 index d80fb6a2ddbf..3a875c99c702 100644 --- a/build.config.gki.aarch64 +++ b/build.config.gki.aarch64 @@ -17,6 +17,7 @@ android/abi_gki_aarch64_qcom android/abi_gki_aarch64_sunxi android/abi_gki_aarch64_unisoc android/abi_gki_aarch64_vivo +android/abi_gki_aarch64_workarounds " TRIM_NONLISTED_KMI=1 KMI_SYMBOL_LIST_ADD_ONLY=1 diff --git a/drivers/android/binder.c b/drivers/android/binder.c index a1985d161856..7a141e148f3f 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -3318,7 +3318,7 @@ static void binder_transaction(struct binder_proc *proc, t->buffer = binder_alloc_new_buf(&target_proc->alloc, tr->data_size, tr->offsets_size, extra_buffers_size, - !reply && (t->flags & TF_ONE_WAY)); + !reply && (t->flags & TF_ONE_WAY), current->tgid); if (IS_ERR(t->buffer)) { /* * -ESRCH indicates VMA cleared. The target is dying. diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c index 2048ba6c8b08..f637998e3f69 100644 --- a/drivers/android/binder_alloc.c +++ b/drivers/android/binder_alloc.c @@ -339,12 +339,50 @@ static inline struct vm_area_struct *binder_alloc_get_vma( return vma; } +static void debug_low_async_space_locked(struct binder_alloc *alloc, int pid) +{ + /* + * Find the amount and size of buffers allocated by the current caller; + * The idea is that once we cross the threshold, whoever is responsible + * for the low async space is likely to try to send another async txn, + * and at some point we'll catch them in the act. This is more efficient + * than keeping a map per pid. + */ + struct rb_node *n = alloc->free_buffers.rb_node; + struct binder_buffer *buffer; + size_t total_alloc_size = 0; + size_t num_buffers = 0; + + for (n = rb_first(&alloc->allocated_buffers); n != NULL; + n = rb_next(n)) { + buffer = rb_entry(n, struct binder_buffer, rb_node); + if (buffer->pid != pid) + continue; + if (!buffer->async_transaction) + continue; + total_alloc_size += binder_alloc_buffer_size(alloc, buffer) + + sizeof(struct binder_buffer); + num_buffers++; + } + + /* + * Warn if this pid has more than 50 transactions, or more than 50% of + * async space (which is 25% of total buffer size). + */ + if (num_buffers > 50 || total_alloc_size > alloc->buffer_size / 4) { + binder_alloc_debug(BINDER_DEBUG_USER_ERROR, + "%d: pid %d spamming oneway? %zd buffers allocated for a total size of %zd\n", + alloc->pid, pid, num_buffers, total_alloc_size); + } +} + static struct binder_buffer *binder_alloc_new_buf_locked( struct binder_alloc *alloc, size_t data_size, size_t offsets_size, size_t extra_buffers_size, - int is_async) + int is_async, + int pid) { struct rb_node *n = alloc->free_buffers.rb_node; struct binder_buffer *buffer; @@ -487,11 +525,20 @@ static struct binder_buffer *binder_alloc_new_buf_locked( buffer->offsets_size = offsets_size; buffer->async_transaction = is_async; buffer->extra_buffers_size = extra_buffers_size; + buffer->pid = pid; if (is_async) { alloc->free_async_space -= size + sizeof(struct binder_buffer); binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC_ASYNC, "%d: binder_alloc_buf size %zd async free %zd\n", alloc->pid, size, alloc->free_async_space); + if (alloc->free_async_space < alloc->buffer_size / 10) { + /* + * Start detecting spammers once we have less than 20% + * of async space left (which is less than 10% of total + * buffer size). + */ + debug_low_async_space_locked(alloc, pid); + } } return buffer; @@ -509,6 +556,7 @@ err_alloc_buf_struct_failed: * @offsets_size: user specified buffer offset * @extra_buffers_size: size of extra space for meta-data (eg, security context) * @is_async: buffer for async transaction + * @pid: pid to attribute allocation to (used for debugging) * * Allocate a new buffer given the requested sizes. Returns * the kernel version of the buffer pointer. The size allocated @@ -521,13 +569,14 @@ struct binder_buffer *binder_alloc_new_buf(struct binder_alloc *alloc, size_t data_size, size_t offsets_size, size_t extra_buffers_size, - int is_async) + int is_async, + int pid) { struct binder_buffer *buffer; mutex_lock(&alloc->mutex); buffer = binder_alloc_new_buf_locked(alloc, data_size, offsets_size, - extra_buffers_size, is_async); + extra_buffers_size, is_async, pid); mutex_unlock(&alloc->mutex); return buffer; } diff --git a/drivers/android/binder_alloc.h b/drivers/android/binder_alloc.h index db9c1b984695..55d8b4106766 100644 --- a/drivers/android/binder_alloc.h +++ b/drivers/android/binder_alloc.h @@ -32,6 +32,7 @@ struct binder_transaction; * @offsets_size: size of array of offsets * @extra_buffers_size: size of space for other objects (like sg lists) * @user_data: user pointer to base of buffer space + * @pid: pid to attribute the buffer to (caller) * * Bookkeeping structure for binder transaction buffers */ @@ -51,6 +52,7 @@ struct binder_buffer { size_t offsets_size; size_t extra_buffers_size; void __user *user_data; + int pid; }; /** @@ -117,7 +119,8 @@ extern struct binder_buffer *binder_alloc_new_buf(struct binder_alloc *alloc, size_t data_size, size_t offsets_size, size_t extra_buffers_size, - int is_async); + int is_async, + int pid); extern void binder_alloc_init(struct binder_alloc *alloc); extern int binder_alloc_shrinker_init(void); extern void binder_alloc_vma_close(struct binder_alloc *alloc); diff --git a/drivers/android/binder_alloc_selftest.c b/drivers/android/binder_alloc_selftest.c index 4151d9938255..c2b323bc3b3a 100644 --- a/drivers/android/binder_alloc_selftest.c +++ b/drivers/android/binder_alloc_selftest.c @@ -119,7 +119,7 @@ static void binder_selftest_alloc_buf(struct binder_alloc *alloc, int i; for (i = 0; i < BUFFER_NUM; i++) { - buffers[i] = binder_alloc_new_buf(alloc, sizes[i], 0, 0, 0); + buffers[i] = binder_alloc_new_buf(alloc, sizes[i], 0, 0, 0, 0); if (IS_ERR(buffers[i]) || !check_buffer_pages_allocated(alloc, buffers[i], sizes[i])) { diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 7b4b1abbb537..2ed3b8b2bccf 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -55,3 +55,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_rwsem_list_add); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alter_futex_plist_add); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_is_fpsimd_save); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_printk_store); diff --git a/include/linux/netdev_features.h b/include/linux/netdev_features.h index 4b19c544c59a..34d050bb1ae6 100644 --- a/include/linux/netdev_features.h +++ b/include/linux/netdev_features.h @@ -53,8 +53,9 @@ enum { NETIF_F_GSO_ESP_BIT, /* ... ESP with TSO */ NETIF_F_GSO_UDP_BIT, /* ... UFO, deprecated except tuntap */ NETIF_F_GSO_UDP_L4_BIT, /* ... UDP payload GSO (not UFO) */ + NETIF_F_GSO_FRAGLIST_BIT, /* ... Fraglist GSO */ /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */ - NETIF_F_GSO_UDP_L4_BIT, + NETIF_F_GSO_FRAGLIST_BIT, NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */ NETIF_F_SCTP_CRC_BIT, /* SCTP checksum offload */ @@ -80,6 +81,7 @@ enum { NETIF_F_GRO_HW_BIT, /* Hardware Generic receive offload */ NETIF_F_HW_TLS_RECORD_BIT, /* Offload TLS record */ + NETIF_F_GRO_FRAGLIST_BIT, /* Fraglist GRO */ /* * Add your fresh new feature above and remember to update @@ -150,6 +152,8 @@ enum { #define NETIF_F_GSO_UDP_L4 __NETIF_F(GSO_UDP_L4) #define NETIF_F_HW_TLS_TX __NETIF_F(HW_TLS_TX) #define NETIF_F_HW_TLS_RX __NETIF_F(HW_TLS_RX) +#define NETIF_F_GRO_FRAGLIST __NETIF_F(GRO_FRAGLIST) +#define NETIF_F_GSO_FRAGLIST __NETIF_F(GSO_FRAGLIST) /* Finds the next feature with the highest number of the range of start till 0. */ @@ -226,6 +230,9 @@ static inline int find_next_netdev_feature(u64 feature, unsigned long start) /* changeable features with no special hardware requirements */ #define NETIF_F_SOFT_FEATURES (NETIF_F_GSO | NETIF_F_GRO) +/* Changeable features with no special hardware requirements that defaults to off. */ +#define NETIF_F_SOFT_FEATURES_OFF NETIF_F_GRO_FRAGLIST + #define NETIF_F_VLAN_FEATURES (NETIF_F_HW_VLAN_CTAG_FILTER | \ NETIF_F_HW_VLAN_CTAG_RX | \ NETIF_F_HW_VLAN_CTAG_TX | \ diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 9c7d93783759..97c1c5d54d0a 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2350,7 +2350,8 @@ struct napi_gro_cb { /* Number of gro_receive callbacks this packet already went through */ u8 recursion_counter:4; - /* 1 bit hole */ + /* GRO is done by frag_list pointer chaining. */ + u8 is_flist:1; /* used to support CHECKSUM_COMPLETE for tunneling protocols */ __wsum csum; @@ -2705,6 +2706,7 @@ struct net_device *dev_get_by_napi_id(unsigned int napi_id); int netdev_get_name(struct net *net, char *name, int ifindex); int dev_restart(struct net_device *dev); int skb_gro_receive(struct sk_buff *p, struct sk_buff *skb); +int skb_gro_receive_list(struct sk_buff *p, struct sk_buff *skb); static inline unsigned int skb_gro_offset(const struct sk_buff *skb) { @@ -4572,6 +4574,7 @@ static inline bool net_gso_ok(netdev_features_t features, int gso_type) BUILD_BUG_ON(SKB_GSO_ESP != (NETIF_F_GSO_ESP >> NETIF_F_GSO_SHIFT)); BUILD_BUG_ON(SKB_GSO_UDP != (NETIF_F_GSO_UDP >> NETIF_F_GSO_SHIFT)); BUILD_BUG_ON(SKB_GSO_UDP_L4 != (NETIF_F_GSO_UDP_L4 >> NETIF_F_GSO_SHIFT)); + BUILD_BUG_ON(SKB_GSO_FRAGLIST != (NETIF_F_GSO_FRAGLIST >> NETIF_F_GSO_SHIFT)); return (features & feature) == feature; } diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 542d881978ef..89301656f985 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -593,6 +593,8 @@ enum { SKB_GSO_UDP = 1 << 16, SKB_GSO_UDP_L4 = 1 << 17, + + SKB_GSO_FRAGLIST = 1 << 18, }; #if BITS_PER_LONG > 32 @@ -3529,6 +3531,8 @@ void skb_scrub_packet(struct sk_buff *skb, bool xnet); bool skb_gso_validate_network_len(const struct sk_buff *skb, unsigned int mtu); bool skb_gso_validate_mac_len(const struct sk_buff *skb, unsigned int len); struct sk_buff *skb_segment(struct sk_buff *skb, netdev_features_t features); +struct sk_buff *skb_segment_list(struct sk_buff *skb, netdev_features_t features, + unsigned int offset); struct sk_buff *skb_vlan_untag(struct sk_buff *skb); int skb_ensure_writable(struct sk_buff *skb, int write_len); int __skb_vlan_pop(struct sk_buff *skb, u16 *vlan_tci); diff --git a/include/net/udp.h b/include/net/udp.h index fabf507bce5d..e55d5f765807 100644 --- a/include/net/udp.h +++ b/include/net/udp.h @@ -167,7 +167,7 @@ typedef struct sock *(*udp_lookup_t)(struct sk_buff *skb, __be16 sport, __be16 dport); struct sk_buff *udp_gro_receive(struct list_head *head, struct sk_buff *skb, - struct udphdr *uh, udp_lookup_t lookup); + struct udphdr *uh, struct sock *sk); int udp_gro_complete(struct sk_buff *skb, int nhoff, udp_lookup_t lookup); struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, diff --git a/include/trace/hooks/debug.h b/include/trace/hooks/debug.h index d3e310ec4b2d..392525e806d4 100644 --- a/include/trace/hooks/debug.h +++ b/include/trace/hooks/debug.h @@ -11,12 +11,17 @@ #include #if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_ANDROID_VENDOR_HOOKS) - +struct pt_regs; DECLARE_HOOK(android_vh_ipi_stop, TP_PROTO(struct pt_regs *regs), TP_ARGS(regs)) + +DECLARE_HOOK(android_vh_printk_store, + TP_PROTO(int facility, int level), + TP_ARGS(facility, level)) #else #define trace_android_vh_ipi_stop(regs) +#define trace_android_vh_printk_store(facility, level) #endif #endif /* _TRACE_HOOK_DEBUG_H */ diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 9a439f5fa1ea..109d7010790a 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -55,6 +55,8 @@ #include #define CREATE_TRACE_POINTS #include +#undef CREATE_TRACE_POINTS +#include #include "console_cmdline.h" #include "braille.h" @@ -2051,6 +2053,7 @@ asmlinkage int vprintk_emit(int facility, int level, pending_output = (curr_log_seq != log_next_seq); logbuf_unlock_irqrestore(flags); + trace_android_vh_printk_store(facility, level); /* If called from the scheduler, we can not call up(). */ if (!in_sched && pending_output) { /* diff --git a/net/core/dev.c b/net/core/dev.c index 782c28482b2a..bfb7bf0f2847 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3032,7 +3032,7 @@ struct sk_buff *__skb_gso_segment(struct sk_buff *skb, segs = skb_mac_gso_segment(skb, features); - if (unlikely(skb_needs_check(skb, tx_path) && !IS_ERR(segs))) + if (segs != skb && unlikely(skb_needs_check(skb, tx_path) && !IS_ERR(segs))) skb_warn_bad_offload(skb); return segs; @@ -9042,7 +9042,7 @@ int register_netdevice(struct net_device *dev) /* Transfer changeable features to wanted_features and enable * software offloads (GSO and GRO). */ - dev->hw_features |= NETIF_F_SOFT_FEATURES; + dev->hw_features |= (NETIF_F_SOFT_FEATURES | NETIF_F_SOFT_FEATURES_OFF); dev->features |= NETIF_F_SOFT_FEATURES; if (dev->netdev_ops->ndo_udp_tunnel_add) { diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 126be82a84f7..e53fe52dd764 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -3640,6 +3640,97 @@ static inline skb_frag_t skb_head_frag_to_page_desc(struct sk_buff *frag_skb) return head_frag; } +struct sk_buff *skb_segment_list(struct sk_buff *skb, + netdev_features_t features, + unsigned int offset) +{ + struct sk_buff *list_skb = skb_shinfo(skb)->frag_list; + unsigned int tnl_hlen = skb_tnl_header_len(skb); + unsigned int delta_truesize = 0; + unsigned int delta_len = 0; + struct sk_buff *tail = NULL; + struct sk_buff *nskb; + + skb_push(skb, -skb_network_offset(skb) + offset); + + skb_shinfo(skb)->frag_list = NULL; + + do { + nskb = list_skb; + list_skb = list_skb->next; + + if (!tail) + skb->next = nskb; + else + tail->next = nskb; + + tail = nskb; + + delta_len += nskb->len; + delta_truesize += nskb->truesize; + + skb_push(nskb, -skb_network_offset(nskb) + offset); + + __copy_skb_header(nskb, skb); + + skb_headers_offset_update(nskb, skb_headroom(nskb) - skb_headroom(skb)); + skb_copy_from_linear_data_offset(skb, -tnl_hlen, + nskb->data - tnl_hlen, + offset + tnl_hlen); + + if (skb_needs_linearize(nskb, features) && + __skb_linearize(nskb)) + goto err_linearize; + + } while (list_skb); + + skb->truesize = skb->truesize - delta_truesize; + skb->data_len = skb->data_len - delta_len; + skb->len = skb->len - delta_len; + + skb_gso_reset(skb); + + skb->prev = tail; + + if (skb_needs_linearize(skb, features) && + __skb_linearize(skb)) + goto err_linearize; + + skb_get(skb); + + return skb; + +err_linearize: + kfree_skb_list(skb->next); + skb->next = NULL; + return ERR_PTR(-ENOMEM); +} +EXPORT_SYMBOL_GPL(skb_segment_list); + +int skb_gro_receive_list(struct sk_buff *p, struct sk_buff *skb) +{ + if (unlikely(p->len + skb->len >= 65536)) + return -E2BIG; + + if (NAPI_GRO_CB(p)->last == p) + skb_shinfo(p)->frag_list = skb; + else + NAPI_GRO_CB(p)->last->next = skb; + + skb_pull(skb, skb_gro_offset(skb)); + + NAPI_GRO_CB(p)->last = skb; + NAPI_GRO_CB(p)->count++; + p->data_len += skb->len; + p->truesize += skb->truesize; + p->len += skb->len; + + NAPI_GRO_CB(skb)->same_flow = 1; + + return 0; +} +EXPORT_SYMBOL_GPL(skb_gro_receive_list); + /** * skb_segment - Perform protocol segmentation on skb. * @head_skb: buffer to segment diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c index a3908e55ed89..9455b0a0776b 100644 --- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c @@ -184,6 +184,20 @@ out_unlock: } EXPORT_SYMBOL(skb_udp_tunnel_segment); +static struct sk_buff *__udp_gso_segment_list(struct sk_buff *skb, + netdev_features_t features) +{ + unsigned int mss = skb_shinfo(skb)->gso_size; + + skb = skb_segment_list(skb, features, skb_mac_header_len(skb)); + if (IS_ERR(skb)) + return skb; + + udp_hdr(skb)->len = htons(sizeof(struct udphdr) + mss); + + return skb; +} + struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, netdev_features_t features) { @@ -196,6 +210,9 @@ struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb, __sum16 check; __be16 newlen; + if (skb_shinfo(gso_skb)->gso_type & SKB_GSO_FRAGLIST) + return __udp_gso_segment_list(gso_skb, features); + mss = skb_shinfo(gso_skb)->gso_size; if (gso_skb->len <= sizeof(*uh) + mss) return ERR_PTR(-EINVAL); @@ -354,6 +371,7 @@ static struct sk_buff *udp_gro_receive_segment(struct list_head *head, struct udphdr *uh2; struct sk_buff *p; unsigned int ulen; + int ret = 0; /* requires non zero csum, for symmetry with GSO */ if (!uh->check) { @@ -369,7 +387,6 @@ static struct sk_buff *udp_gro_receive_segment(struct list_head *head, } /* pull encapsulating udp header */ skb_gro_pull(skb, sizeof(struct udphdr)); - skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr)); list_for_each_entry(p, head, list) { if (!NAPI_GRO_CB(p)->same_flow) @@ -383,14 +400,40 @@ static struct sk_buff *udp_gro_receive_segment(struct list_head *head, continue; } + if (NAPI_GRO_CB(skb)->is_flist != NAPI_GRO_CB(p)->is_flist) { + NAPI_GRO_CB(skb)->flush = 1; + return p; + } + /* Terminate the flow on len mismatch or if it grow "too much". * Under small packet flood GRO count could elsewhere grow a lot * leading to excessive truesize values. * On len mismatch merge the first packet shorter than gso_size, * otherwise complete the GRO packet. */ - if (ulen > ntohs(uh2->len) || skb_gro_receive(p, skb) || - ulen != ntohs(uh2->len) || + if (ulen > ntohs(uh2->len)) { + pp = p; + } else { + if (NAPI_GRO_CB(skb)->is_flist) { + if (!pskb_may_pull(skb, skb_gro_offset(skb))) { + NAPI_GRO_CB(skb)->flush = 1; + return NULL; + } + if ((skb->ip_summed != p->ip_summed) || + (skb->csum_level != p->csum_level)) { + NAPI_GRO_CB(skb)->flush = 1; + return NULL; + } + ret = skb_gro_receive_list(p, skb); + } else { + skb_gro_postpull_rcsum(skb, uh, + sizeof(struct udphdr)); + + ret = skb_gro_receive(p, skb); + } + } + + if (ret || ulen != ntohs(uh2->len) || NAPI_GRO_CB(p)->count >= UDP_GRO_CNT_MAX) pp = p; @@ -401,36 +444,30 @@ static struct sk_buff *udp_gro_receive_segment(struct list_head *head, return NULL; } -INDIRECT_CALLABLE_DECLARE(struct sock *udp6_lib_lookup_skb(struct sk_buff *skb, - __be16 sport, __be16 dport)); struct sk_buff *udp_gro_receive(struct list_head *head, struct sk_buff *skb, - struct udphdr *uh, udp_lookup_t lookup) + struct udphdr *uh, struct sock *sk) { struct sk_buff *pp = NULL; struct sk_buff *p; struct udphdr *uh2; unsigned int off = skb_gro_offset(skb); int flush = 1; - struct sock *sk; - rcu_read_lock(); - sk = INDIRECT_CALL_INET(lookup, udp6_lib_lookup_skb, - udp4_lib_lookup_skb, skb, uh->source, uh->dest); - if (!sk) - goto out_unlock; + NAPI_GRO_CB(skb)->is_flist = 0; + if (skb->dev->features & NETIF_F_GRO_FRAGLIST) + NAPI_GRO_CB(skb)->is_flist = sk ? !udp_sk(sk)->gro_enabled: 1; - if (udp_sk(sk)->gro_enabled) { + if ((sk && udp_sk(sk)->gro_enabled) || NAPI_GRO_CB(skb)->is_flist) { pp = call_gro_receive(udp_gro_receive_segment, head, skb); - rcu_read_unlock(); return pp; } - if (NAPI_GRO_CB(skb)->encap_mark || + if (!sk || NAPI_GRO_CB(skb)->encap_mark || (skb->ip_summed != CHECKSUM_PARTIAL && NAPI_GRO_CB(skb)->csum_cnt == 0 && !NAPI_GRO_CB(skb)->csum_valid) || !udp_sk(sk)->gro_receive) - goto out_unlock; + goto out; /* mark that this skb passed once through the tunnel gro layer */ NAPI_GRO_CB(skb)->encap_mark = 1; @@ -457,8 +494,7 @@ struct sk_buff *udp_gro_receive(struct list_head *head, struct sk_buff *skb, skb_gro_postpull_rcsum(skb, uh, sizeof(struct udphdr)); pp = call_gro_receive_sk(udp_sk(sk)->gro_receive, sk, head, skb); -out_unlock: - rcu_read_unlock(); +out: skb_gro_flush_final(skb, pp, flush); return pp; } @@ -468,8 +504,10 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *udp4_gro_receive(struct list_head *head, struct sk_buff *skb) { struct udphdr *uh = udp_gro_udphdr(skb); + struct sk_buff *pp; + struct sock *sk; - if (unlikely(!uh) || !static_branch_unlikely(&udp_encap_needed_key)) + if (unlikely(!uh)) goto flush; /* Don't bother verifying checksum if we're going to flush anyway. */ @@ -484,7 +522,11 @@ struct sk_buff *udp4_gro_receive(struct list_head *head, struct sk_buff *skb) inet_gro_compute_pseudo); skip: NAPI_GRO_CB(skb)->is_ipv6 = 0; - return udp_gro_receive(head, skb, uh, udp4_lib_lookup_skb); + rcu_read_lock(); + sk = static_branch_unlikely(&udp_encap_needed_key) ? udp4_lib_lookup_skb(skb, uh->source, uh->dest) : NULL; + pp = udp_gro_receive(head, skb, uh, sk); + rcu_read_unlock(); + return pp; flush: NAPI_GRO_CB(skb)->flush = 1; @@ -517,9 +559,7 @@ int udp_gro_complete(struct sk_buff *skb, int nhoff, rcu_read_lock(); sk = INDIRECT_CALL_INET(lookup, udp6_lib_lookup_skb, udp4_lib_lookup_skb, skb, uh->source, uh->dest); - if (sk && udp_sk(sk)->gro_enabled) { - err = udp_gro_complete_segment(skb); - } else if (sk && udp_sk(sk)->gro_complete) { + if (sk && udp_sk(sk)->gro_complete) { skb_shinfo(skb)->gso_type = uh->check ? SKB_GSO_UDP_TUNNEL_CSUM : SKB_GSO_UDP_TUNNEL; @@ -529,6 +569,8 @@ int udp_gro_complete(struct sk_buff *skb, int nhoff, skb->encapsulation = 1; err = udp_sk(sk)->gro_complete(sk, skb, nhoff + sizeof(struct udphdr)); + } else { + err = udp_gro_complete_segment(skb); } rcu_read_unlock(); @@ -544,6 +586,23 @@ INDIRECT_CALLABLE_SCOPE int udp4_gro_complete(struct sk_buff *skb, int nhoff) const struct iphdr *iph = ip_hdr(skb); struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); + if (NAPI_GRO_CB(skb)->is_flist) { + uh->len = htons(skb->len - nhoff); + + skb_shinfo(skb)->gso_type |= (SKB_GSO_FRAGLIST|SKB_GSO_UDP_L4); + skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; + + if (skb->ip_summed == CHECKSUM_UNNECESSARY) { + if (skb->csum_level < SKB_MAX_CSUM_LEVEL) + skb->csum_level++; + } else { + skb->ip_summed = CHECKSUM_UNNECESSARY; + skb->csum_level = 0; + } + + return 0; + } + if (uh->check) uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, iph->daddr, 0); diff --git a/net/ipv6/udp_offload.c b/net/ipv6/udp_offload.c index 64b8f05d6735..7a46bd33fa2f 100644 --- a/net/ipv6/udp_offload.c +++ b/net/ipv6/udp_offload.c @@ -115,8 +115,10 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *udp6_gro_receive(struct list_head *head, struct sk_buff *skb) { struct udphdr *uh = udp_gro_udphdr(skb); + struct sk_buff *pp; + struct sock *sk; - if (unlikely(!uh) || !static_branch_unlikely(&udpv6_encap_needed_key)) + if (unlikely(!uh)) goto flush; /* Don't bother verifying checksum if we're going to flush anyway. */ @@ -132,7 +134,11 @@ struct sk_buff *udp6_gro_receive(struct list_head *head, struct sk_buff *skb) skip: NAPI_GRO_CB(skb)->is_ipv6 = 1; - return udp_gro_receive(head, skb, uh, udp6_lib_lookup_skb); + rcu_read_lock(); + sk = static_branch_unlikely(&udpv6_encap_needed_key) ? udp6_lib_lookup_skb(skb, uh->source, uh->dest) : NULL; + pp = udp_gro_receive(head, skb, uh, sk); + rcu_read_unlock(); + return pp; flush: NAPI_GRO_CB(skb)->flush = 1; @@ -144,6 +150,23 @@ INDIRECT_CALLABLE_SCOPE int udp6_gro_complete(struct sk_buff *skb, int nhoff) const struct ipv6hdr *ipv6h = ipv6_hdr(skb); struct udphdr *uh = (struct udphdr *)(skb->data + nhoff); + if (NAPI_GRO_CB(skb)->is_flist) { + uh->len = htons(skb->len - nhoff); + + skb_shinfo(skb)->gso_type |= (SKB_GSO_FRAGLIST|SKB_GSO_UDP_L4); + skb_shinfo(skb)->gso_segs = NAPI_GRO_CB(skb)->count; + + if (skb->ip_summed == CHECKSUM_UNNECESSARY) { + if (skb->csum_level < SKB_MAX_CSUM_LEVEL) + skb->csum_level++; + } else { + skb->ip_summed = CHECKSUM_UNNECESSARY; + skb->csum_level = 0; + } + + return 0; + } + if (uh->check) uh->check = ~udp_v6_check(skb->len - nhoff, &ipv6h->saddr, &ipv6h->daddr, 0);