grpc 1.45.0 → 1.53.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of grpc might be problematic. Click here for more details.

Files changed (1842) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +437 -254
  3. data/include/grpc/byte_buffer.h +76 -1
  4. data/include/grpc/byte_buffer_reader.h +19 -1
  5. data/include/grpc/compression.h +2 -2
  6. data/include/grpc/event_engine/endpoint_config.h +11 -5
  7. data/include/grpc/event_engine/event_engine.h +129 -39
  8. data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -1
  9. data/include/grpc/event_engine/internal/slice_cast.h +67 -0
  10. data/include/grpc/event_engine/memory_allocator.h +1 -16
  11. data/include/grpc/event_engine/port.h +1 -1
  12. data/include/grpc/event_engine/slice.h +306 -0
  13. data/include/grpc/event_engine/slice_buffer.h +159 -0
  14. data/include/grpc/fork.h +25 -1
  15. data/include/grpc/grpc.h +4 -14
  16. data/include/grpc/grpc_posix.h +1 -1
  17. data/include/grpc/grpc_security.h +11 -0
  18. data/include/grpc/impl/codegen/atm.h +3 -71
  19. data/include/grpc/impl/codegen/atm_gcc_atomic.h +3 -67
  20. data/include/grpc/impl/codegen/atm_gcc_sync.h +3 -61
  21. data/include/grpc/impl/codegen/atm_windows.h +3 -108
  22. data/include/grpc/impl/codegen/byte_buffer.h +4 -78
  23. data/include/grpc/impl/codegen/byte_buffer_reader.h +4 -19
  24. data/include/grpc/impl/codegen/compression_types.h +5 -83
  25. data/include/grpc/impl/codegen/connectivity_state.h +5 -21
  26. data/include/grpc/impl/codegen/fork.h +4 -25
  27. data/include/grpc/impl/codegen/gpr_types.h +4 -35
  28. data/include/grpc/impl/codegen/grpc_types.h +5 -797
  29. data/include/grpc/impl/codegen/log.h +3 -86
  30. data/include/grpc/impl/codegen/port_platform.h +3 -699
  31. data/include/grpc/impl/codegen/propagation_bits.h +3 -28
  32. data/include/grpc/impl/codegen/slice.h +4 -107
  33. data/include/grpc/impl/codegen/status.h +4 -131
  34. data/include/grpc/impl/codegen/sync.h +3 -42
  35. data/include/grpc/impl/codegen/sync_abseil.h +3 -12
  36. data/include/grpc/impl/codegen/sync_custom.h +3 -14
  37. data/include/grpc/impl/codegen/sync_generic.h +3 -25
  38. data/include/grpc/impl/codegen/sync_posix.h +3 -28
  39. data/include/grpc/impl/codegen/sync_windows.h +3 -16
  40. data/include/grpc/impl/compression_types.h +109 -0
  41. data/include/grpc/impl/connectivity_state.h +47 -0
  42. data/include/grpc/impl/grpc_types.h +827 -0
  43. data/include/grpc/impl/propagation_bits.h +54 -0
  44. data/include/grpc/impl/slice_type.h +112 -0
  45. data/include/grpc/load_reporting.h +1 -1
  46. data/include/grpc/module.modulemap +5 -1
  47. data/include/grpc/slice.h +1 -1
  48. data/include/grpc/status.h +131 -1
  49. data/include/grpc/support/atm.h +70 -1
  50. data/include/grpc/support/atm_gcc_atomic.h +59 -1
  51. data/include/grpc/support/atm_gcc_sync.h +58 -1
  52. data/include/grpc/support/atm_windows.h +105 -1
  53. data/include/grpc/support/log.h +87 -1
  54. data/include/grpc/support/log_windows.h +1 -1
  55. data/include/grpc/support/port_platform.h +767 -1
  56. data/include/grpc/support/string_util.h +1 -1
  57. data/include/grpc/support/sync.h +35 -2
  58. data/include/grpc/support/sync_abseil.h +11 -1
  59. data/include/grpc/support/sync_custom.h +13 -1
  60. data/include/grpc/support/sync_generic.h +24 -1
  61. data/include/grpc/support/sync_posix.h +27 -1
  62. data/include/grpc/support/sync_windows.h +15 -1
  63. data/include/grpc/support/time.h +31 -6
  64. data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +148 -0
  65. data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +52 -0
  66. data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +29 -0
  67. data/src/core/ext/filters/census/grpc_context.cc +19 -17
  68. data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +315 -0
  69. data/src/core/ext/filters/channel_idle/channel_idle_filter.h +142 -0
  70. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
  71. data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +6 -4
  72. data/src/core/ext/filters/client_channel/backend_metric.cc +19 -12
  73. data/src/core/ext/filters/client_channel/backend_metric.h +21 -11
  74. data/src/core/ext/filters/client_channel/backup_poller.cc +34 -34
  75. data/src/core/ext/filters/client_channel/backup_poller.h +26 -28
  76. data/src/core/ext/filters/client_channel/channel_connectivity.cc +89 -44
  77. data/src/core/ext/filters/client_channel/client_channel.cc +557 -540
  78. data/src/core/ext/filters/client_channel/client_channel.h +70 -26
  79. data/src/core/ext/filters/client_channel/client_channel_channelz.cc +19 -23
  80. data/src/core/ext/filters/client_channel/client_channel_channelz.h +33 -23
  81. data/src/core/ext/filters/client_channel/client_channel_factory.cc +19 -43
  82. data/src/core/ext/filters/client_channel/client_channel_factory.h +11 -11
  83. data/src/core/ext/filters/client_channel/client_channel_plugin.cc +22 -47
  84. data/src/core/ext/filters/client_channel/client_channel_service_config.cc +153 -0
  85. data/src/core/ext/filters/client_channel/{resolver_result_parsing.h → client_channel_service_config.h} +33 -27
  86. data/src/core/ext/filters/client_channel/config_selector.cc +1 -0
  87. data/src/core/ext/filters/client_channel/config_selector.h +29 -23
  88. data/src/core/ext/filters/client_channel/connector.h +19 -10
  89. data/src/core/ext/filters/client_channel/dynamic_filters.cc +40 -54
  90. data/src/core/ext/filters/client_channel/dynamic_filters.h +20 -11
  91. data/src/core/ext/filters/client_channel/global_subchannel_pool.cc +2 -0
  92. data/src/core/ext/filters/client_channel/global_subchannel_pool.h +24 -21
  93. data/src/core/ext/filters/client_channel/health/health_check_client.cc +137 -582
  94. data/src/core/ext/filters/client_channel/health/health_check_client.h +29 -163
  95. data/src/core/ext/filters/client_channel/http_proxy.cc +130 -164
  96. data/src/core/ext/filters/client_channel/http_proxy.h +46 -22
  97. data/src/core/ext/filters/client_channel/lb_call_state_internal.h +39 -0
  98. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +8 -5
  99. data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +4 -3
  100. data/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h +49 -0
  101. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +37 -16
  102. data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +18 -13
  103. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +71 -131
  104. data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h +41 -24
  105. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +410 -375
  106. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +26 -27
  107. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +15 -3
  108. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +9 -7
  109. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +18 -20
  110. data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +27 -22
  111. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +28 -19
  112. data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +26 -25
  113. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +338 -0
  114. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +57 -0
  115. data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +117 -0
  116. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +1129 -0
  117. data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +94 -0
  118. data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +174 -180
  119. data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +478 -479
  120. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +491 -409
  121. data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +19 -9
  122. data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +618 -642
  123. data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +261 -234
  124. data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +165 -143
  125. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc +128 -0
  126. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h +71 -0
  127. data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +972 -0
  128. data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +280 -248
  129. data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +251 -187
  130. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +42 -0
  131. data/src/core/ext/filters/client_channel/lb_policy/xds/{xds.h → xds_attributes.h} +19 -15
  132. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +3 -3
  133. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +178 -256
  134. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +212 -216
  135. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +543 -584
  136. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +819 -0
  137. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h +67 -0
  138. data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +369 -0
  139. data/src/core/ext/filters/client_channel/local_subchannel_pool.cc +4 -0
  140. data/src/core/ext/filters/client_channel/local_subchannel_pool.h +22 -21
  141. data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +34 -19
  142. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +579 -376
  143. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +50 -44
  144. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +31 -30
  145. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +89 -84
  146. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +300 -209
  147. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +82 -61
  148. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +18 -18
  149. data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +20 -19
  150. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc +2 -0
  151. data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h +22 -22
  152. data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +86 -224
  153. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +21 -34
  154. data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +19 -5
  155. data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +135 -63
  156. data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +269 -0
  157. data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +121 -0
  158. data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +21 -27
  159. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +413 -303
  160. data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +6 -4
  161. data/src/core/ext/filters/client_channel/retry_filter.cc +184 -166
  162. data/src/core/ext/filters/client_channel/retry_filter.h +4 -3
  163. data/src/core/ext/filters/client_channel/retry_service_config.cc +197 -229
  164. data/src/core/ext/filters/client_channel/retry_service_config.h +29 -26
  165. data/src/core/ext/filters/client_channel/retry_throttle.cc +28 -37
  166. data/src/core/ext/filters/client_channel/retry_throttle.h +36 -29
  167. data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +34 -17
  168. data/src/core/ext/filters/client_channel/subchannel.cc +336 -388
  169. data/src/core/ext/filters/client_channel/subchannel.h +112 -82
  170. data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +38 -0
  171. data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +17 -77
  172. data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +41 -47
  173. data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +470 -0
  174. data/src/core/ext/filters/client_channel/subchannel_stream_client.h +222 -0
  175. data/src/core/ext/filters/deadline/deadline_filter.cc +94 -76
  176. data/src/core/ext/filters/deadline/deadline_filter.h +14 -12
  177. data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +154 -372
  178. data/src/core/ext/filters/fault_injection/fault_injection_filter.h +41 -9
  179. data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +118 -0
  180. data/src/core/ext/filters/fault_injection/{service_config_parser.h → fault_injection_service_config_parser.h} +34 -13
  181. data/src/core/ext/filters/http/client/http_client_filter.cc +119 -477
  182. data/src/core/ext/filters/http/client/http_client_filter.h +55 -25
  183. data/src/core/ext/filters/http/client_authority_filter.cc +48 -58
  184. data/src/core/ext/filters/http/client_authority_filter.h +32 -28
  185. data/src/core/ext/filters/http/http_filters_plugin.cc +46 -52
  186. data/src/core/ext/filters/http/message_compress/compression_filter.cc +307 -0
  187. data/src/core/ext/filters/http/message_compress/compression_filter.h +139 -0
  188. data/src/core/ext/filters/http/server/http_server_filter.cc +111 -385
  189. data/src/core/ext/filters/http/server/http_server_filter.h +58 -24
  190. data/src/core/ext/filters/message_size/message_size_filter.cc +117 -137
  191. data/src/core/ext/filters/message_size/message_size_filter.h +34 -17
  192. data/src/core/ext/filters/rbac/rbac_filter.cc +29 -16
  193. data/src/core/ext/filters/rbac/rbac_filter.h +11 -3
  194. data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +736 -523
  195. data/src/core/ext/filters/rbac/rbac_service_config_parser.h +18 -7
  196. data/src/core/ext/filters/server_config_selector/server_config_selector.h +20 -8
  197. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +90 -202
  198. data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +4 -3
  199. data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +219 -0
  200. data/src/core/ext/filters/stateful_session/stateful_session_filter.h +66 -0
  201. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +82 -0
  202. data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +93 -0
  203. data/src/core/ext/transport/chttp2/alpn/alpn.cc +18 -18
  204. data/src/core/ext/transport/chttp2/alpn/alpn.h +24 -24
  205. data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +186 -241
  206. data/src/core/ext/transport/chttp2/client/chttp2_connector.h +38 -30
  207. data/src/core/ext/transport/chttp2/server/chttp2_server.cc +209 -215
  208. data/src/core/ext/transport/chttp2/server/chttp2_server.h +26 -26
  209. data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +24 -24
  210. data/src/core/ext/transport/chttp2/transport/bin_decoder.h +35 -34
  211. data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +31 -30
  212. data/src/core/ext/transport/chttp2/transport/bin_encoder.h +29 -29
  213. data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +893 -1079
  214. data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +28 -23
  215. data/src/core/ext/transport/chttp2/transport/context_list.cc +23 -19
  216. data/src/core/ext/transport/chttp2/transport/context_list.h +32 -29
  217. data/src/core/ext/transport/chttp2/transport/decode_huff.cc +251 -0
  218. data/src/core/ext/transport/chttp2/transport/decode_huff.h +971 -0
  219. data/src/core/ext/transport/chttp2/transport/flow_control.cc +350 -300
  220. data/src/core/ext/transport/chttp2/transport/flow_control.h +248 -325
  221. data/src/core/ext/transport/chttp2/transport/frame.h +22 -26
  222. data/src/core/ext/transport/chttp2/transport/frame_data.cc +85 -234
  223. data/src/core/ext/transport/chttp2/transport/frame_data.h +38 -61
  224. data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +41 -36
  225. data/src/core/ext/transport/chttp2/transport/frame_goaway.h +24 -22
  226. data/src/core/ext/transport/chttp2/transport/frame_ping.cc +31 -25
  227. data/src/core/ext/transport/chttp2/transport/frame_ping.h +25 -22
  228. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +35 -26
  229. data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +24 -21
  230. data/src/core/ext/transport/chttp2/transport/frame_settings.cc +46 -77
  231. data/src/core/ext/transport/chttp2/transport/frame_settings.h +27 -23
  232. data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +34 -33
  233. data/src/core/ext/transport/chttp2/transport/frame_window_update.h +24 -21
  234. data/src/core/ext/transport/chttp2/transport/hpack_constants.h +10 -4
  235. data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +169 -220
  236. data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +59 -61
  237. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +4 -1
  238. data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +14 -5
  239. data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +114 -542
  240. data/src/core/ext/transport/chttp2/transport/hpack_parser.h +31 -24
  241. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +75 -67
  242. data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +70 -48
  243. data/src/core/ext/transport/chttp2/transport/http2_settings.cc +21 -19
  244. data/src/core/ext/transport/chttp2/transport/http2_settings.h +39 -38
  245. data/src/core/ext/transport/chttp2/transport/http_trace.cc +19 -0
  246. data/src/core/ext/transport/chttp2/transport/http_trace.h +24 -0
  247. data/src/core/ext/transport/chttp2/transport/huffsyms.cc +20 -20
  248. data/src/core/ext/transport/chttp2/transport/huffsyms.h +21 -21
  249. data/src/core/ext/transport/chttp2/transport/internal.h +250 -298
  250. data/src/core/ext/transport/chttp2/transport/parsing.cc +365 -132
  251. data/src/core/ext/transport/chttp2/transport/stream_lists.cc +30 -30
  252. data/src/core/ext/transport/chttp2/transport/stream_map.cc +24 -24
  253. data/src/core/ext/transport/chttp2/transport/stream_map.h +34 -33
  254. data/src/core/ext/transport/chttp2/transport/varint.cc +19 -20
  255. data/src/core/ext/transport/chttp2/transport/varint.h +39 -34
  256. data/src/core/ext/transport/chttp2/transport/writing.cc +144 -106
  257. data/src/core/ext/transport/inproc/inproc_plugin.cc +17 -18
  258. data/src/core/ext/transport/inproc/inproc_transport.cc +227 -274
  259. data/src/core/ext/transport/inproc/inproc_transport.h +23 -21
  260. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +27 -24
  261. data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +173 -73
  262. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +39 -36
  263. data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +210 -85
  264. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +29 -344
  265. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +189 -1489
  266. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +388 -0
  267. data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1953 -0
  268. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +5 -5
  269. data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +38 -17
  270. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +9 -7
  271. data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +56 -13
  272. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +7 -7
  273. data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +24 -2
  274. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +4 -4
  275. data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +19 -6
  276. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +4 -4
  277. data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +15 -2
  278. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +49 -46
  279. data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +229 -82
  280. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +3 -3
  281. data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +16 -4
  282. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +12 -12
  283. data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +40 -8
  284. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +5 -5
  285. data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +26 -4
  286. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +55 -55
  287. data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +379 -140
  288. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +140 -126
  289. data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +824 -301
  290. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +24 -18
  291. data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +114 -29
  292. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +195 -191
  293. data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1042 -412
  294. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
  295. data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +16 -4
  296. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +44 -24
  297. data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +171 -42
  298. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +72 -63
  299. data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +517 -202
  300. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +61 -36
  301. data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +333 -66
  302. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +5 -4
  303. data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +20 -6
  304. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +93 -91
  305. data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +615 -213
  306. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +76 -33
  307. data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +417 -79
  308. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +2 -2
  309. data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +20 -8
  310. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +5 -25
  311. data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +16 -93
  312. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +5 -5
  313. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +38 -17
  314. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +70 -68
  315. data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +447 -157
  316. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +98 -66
  317. data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +545 -191
  318. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
  319. data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +33 -13
  320. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +108 -87
  321. data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +502 -149
  322. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +2 -2
  323. data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +9 -2
  324. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +6 -6
  325. data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +42 -17
  326. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +24 -9
  327. data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +110 -18
  328. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
  329. data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +64 -26
  330. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
  331. data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +20 -6
  332. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +18 -18
  333. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +118 -49
  334. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +39 -32
  335. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +242 -87
  336. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
  337. data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +226 -105
  338. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
  339. data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +13 -4
  340. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +86 -53
  341. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +475 -141
  342. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +56 -50
  343. data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +379 -160
  344. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +16 -12
  345. data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +77 -16
  346. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +9 -6
  347. data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +50 -8
  348. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +5 -5
  349. data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +26 -6
  350. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +33 -32
  351. data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +253 -102
  352. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +34 -34
  353. data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +229 -92
  354. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +74 -55
  355. data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +494 -160
  356. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +38 -30
  357. data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +232 -124
  358. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +458 -351
  359. data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2879 -947
  360. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +11 -11
  361. data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +67 -22
  362. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +79 -54
  363. data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +454 -133
  364. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +5 -4
  365. data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +21 -2
  366. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +3 -3
  367. data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +16 -4
  368. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +5 -5
  369. data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +38 -14
  370. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +5 -5
  371. data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +33 -14
  372. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +17 -16
  373. data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +89 -38
  374. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +47 -0
  375. data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +107 -0
  376. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +2 -2
  377. data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +13 -4
  378. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +8 -8
  379. data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +58 -21
  380. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
  381. data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
  382. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +9 -9
  383. data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +50 -16
  384. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +9 -8
  385. data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +43 -10
  386. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +2 -2
  387. data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +16 -8
  388. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +15 -15
  389. data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +101 -38
  390. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +25 -25
  391. data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +167 -71
  392. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +16 -8
  393. data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +88 -16
  394. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +14 -11
  395. data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +71 -17
  396. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +62 -0
  397. data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +179 -0
  398. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +184 -144
  399. data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1091 -361
  400. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +46 -0
  401. data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +98 -0
  402. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +54 -0
  403. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +188 -0
  404. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +111 -0
  405. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +444 -0
  406. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +56 -0
  407. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +192 -0
  408. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +46 -0
  409. data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +98 -0
  410. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +56 -48
  411. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +327 -130
  412. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +13 -13
  413. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +88 -31
  414. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +83 -56
  415. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +472 -136
  416. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +5 -5
  417. data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +35 -13
  418. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
  419. data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
  420. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +171 -54
  421. data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +917 -134
  422. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +8 -8
  423. data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +59 -25
  424. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +33 -33
  425. data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +205 -76
  426. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +4 -4
  427. data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +23 -8
  428. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
  429. data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +62 -25
  430. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +47 -0
  431. data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +113 -0
  432. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +8 -8
  433. data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +36 -8
  434. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +7 -7
  435. data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +55 -22
  436. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +3 -3
  437. data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +26 -11
  438. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +3 -3
  439. data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +30 -11
  440. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +2 -2
  441. data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +20 -8
  442. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +8 -8
  443. data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +58 -22
  444. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +43 -0
  445. data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +114 -0
  446. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +9 -9
  447. data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +82 -29
  448. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +5 -5
  449. data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +49 -22
  450. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +12 -12
  451. data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +99 -36
  452. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +16 -16
  453. data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +118 -44
  454. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +20 -20
  455. data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +120 -40
  456. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +7 -7
  457. data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +46 -16
  458. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +2 -2
  459. data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +9 -2
  460. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +5 -5
  461. data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +25 -8
  462. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +9 -9
  463. data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +36 -6
  464. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
  465. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
  466. data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +3 -1
  467. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +4 -4
  468. data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +15 -2
  469. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +5 -5
  470. data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +23 -6
  471. data/src/core/ext/upb-generated/google/api/annotations.upb.c +3 -3
  472. data/src/core/ext/upb-generated/google/api/annotations.upb.h +17 -2
  473. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +70 -66
  474. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +477 -185
  475. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +80 -74
  476. data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +512 -182
  477. data/src/core/ext/upb-generated/google/api/http.upb.c +17 -17
  478. data/src/core/ext/upb-generated/google/api/http.upb.h +134 -49
  479. data/src/core/ext/upb-generated/google/api/httpbody.upb.c +4 -4
  480. data/src/core/ext/upb-generated/google/api/httpbody.upb.h +25 -9
  481. data/src/core/ext/upb-generated/google/protobuf/any.upb.c +3 -3
  482. data/src/core/ext/upb-generated/google/protobuf/any.upb.h +12 -2
  483. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +183 -181
  484. data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1332 -488
  485. data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +3 -3
  486. data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +16 -6
  487. data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
  488. data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
  489. data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
  490. data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +126 -46
  491. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +3 -3
  492. data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +16 -6
  493. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +18 -18
  494. data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +81 -18
  495. data/src/core/ext/upb-generated/google/rpc/status.upb.c +4 -4
  496. data/src/core/ext/upb-generated/google/rpc/status.upb.h +25 -9
  497. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +15 -15
  498. data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +89 -30
  499. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
  500. data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +55 -14
  501. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +69 -65
  502. data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +424 -169
  503. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -7
  504. data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +32 -8
  505. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +4 -4
  506. data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +18 -4
  507. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
  508. data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +204 -76
  509. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +11 -11
  510. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +63 -22
  511. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
  512. data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +792 -0
  513. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +22 -22
  514. data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +115 -16
  515. data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +6 -6
  516. data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +29 -4
  517. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +3 -3
  518. data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +10 -2
  519. data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +6 -6
  520. data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +33 -8
  521. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +5 -5
  522. data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +26 -4
  523. data/src/core/ext/upb-generated/validate/validate.upb.c +264 -253
  524. data/src/core/ext/upb-generated/validate/validate.upb.h +1974 -709
  525. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +22 -22
  526. data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +115 -16
  527. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +6 -6
  528. data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +29 -4
  529. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +3 -3
  530. data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +10 -2
  531. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +18 -18
  532. data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +94 -18
  533. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +5 -5
  534. data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +26 -4
  535. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +2 -2
  536. data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +9 -2
  537. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +47 -0
  538. data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +107 -0
  539. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
  540. data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +50 -16
  541. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +5 -5
  542. data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +33 -12
  543. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +3 -3
  544. data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +16 -4
  545. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
  546. data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +27 -10
  547. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +10 -10
  548. data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +83 -34
  549. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +5 -5
  550. data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +22 -4
  551. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +14 -13
  552. data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +84 -28
  553. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +46 -0
  554. data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +113 -0
  555. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +46 -0
  556. data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +98 -0
  557. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +62 -0
  558. data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +174 -0
  559. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +36 -0
  560. data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +74 -0
  561. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +65 -0
  562. data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +191 -0
  563. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +43 -39
  564. data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +309 -121
  565. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +127 -0
  566. data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +474 -0
  567. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +4 -4
  568. data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +31 -12
  569. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +9 -9
  570. data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +82 -29
  571. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +67 -0
  572. data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +214 -0
  573. data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +64 -0
  574. data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +208 -0
  575. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +3 -4
  576. data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +16 -4
  577. data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +54 -53
  578. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
  579. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
  580. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +277 -0
  581. data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +125 -0
  582. data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
  583. data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
  584. data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +199 -187
  585. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +50 -46
  586. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +149 -129
  587. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +0 -5
  588. data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -12
  589. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +95 -75
  590. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +5 -0
  591. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +187 -183
  592. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +129 -94
  593. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +10 -0
  594. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +18 -33
  595. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -5
  596. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +168 -154
  597. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +5 -0
  598. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +190 -186
  599. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +7 -3
  600. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +5 -0
  601. data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
  602. data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +71 -66
  603. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +164 -137
  604. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
  605. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +141 -138
  606. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +16 -12
  607. data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
  608. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +140 -129
  609. data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
  610. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +82 -68
  611. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +2 -2
  612. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +828 -747
  613. data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +20 -0
  614. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
  615. data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
  616. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +16 -14
  617. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +48 -0
  618. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
  619. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
  620. data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +20 -18
  621. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
  622. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +53 -42
  623. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +60 -0
  624. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +40 -0
  625. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +483 -445
  626. data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
  627. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +50 -0
  628. data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +35 -0
  629. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
  630. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +211 -193
  631. data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -0
  632. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +156 -84
  633. data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
  634. data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
  635. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +48 -0
  636. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +35 -0
  637. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
  638. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +40 -0
  639. data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +40 -0
  640. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
  641. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
  642. data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +10 -9
  643. data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
  644. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
  645. data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
  646. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +45 -0
  647. data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +35 -0
  648. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +43 -0
  649. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +35 -0
  650. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +51 -0
  651. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +40 -0
  652. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +36 -0
  653. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +35 -0
  654. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +55 -0
  655. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +40 -0
  656. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +9 -9
  657. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +71 -0
  658. data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +60 -0
  659. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +60 -0
  660. data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +40 -0
  661. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +36 -0
  662. data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +45 -0
  663. data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +4 -7
  664. data/src/core/ext/xds/certificate_provider_store.cc +75 -3
  665. data/src/core/ext/xds/certificate_provider_store.h +30 -4
  666. data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +17 -10
  667. data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +12 -4
  668. data/src/core/ext/xds/upb_utils.h +3 -25
  669. data/src/core/ext/xds/xds_api.cc +106 -192
  670. data/src/core/ext/xds/xds_api.h +41 -39
  671. data/src/core/ext/xds/xds_bootstrap.cc +5 -537
  672. data/src/core/ext/xds/xds_bootstrap.h +42 -95
  673. data/src/core/ext/xds/xds_bootstrap_grpc.cc +362 -0
  674. data/src/core/ext/xds/xds_bootstrap_grpc.h +184 -0
  675. data/src/core/ext/xds/xds_certificate_provider.cc +36 -25
  676. data/src/core/ext/xds/xds_certificate_provider.h +36 -4
  677. data/src/core/ext/xds/xds_channel_args.h +3 -3
  678. data/src/core/ext/xds/xds_channel_stack_modifier.cc +17 -7
  679. data/src/core/ext/xds/xds_channel_stack_modifier.h +16 -4
  680. data/src/core/ext/xds/xds_client.cc +885 -1360
  681. data/src/core/ext/xds/xds_client.h +69 -65
  682. data/src/core/ext/xds/xds_client_grpc.cc +235 -0
  683. data/src/core/ext/xds/xds_client_grpc.h +79 -0
  684. data/src/core/ext/xds/xds_client_stats.cc +24 -25
  685. data/src/core/ext/xds/xds_client_stats.h +26 -24
  686. data/src/core/ext/xds/xds_cluster.cc +505 -247
  687. data/src/core/ext/xds/xds_cluster.h +69 -40
  688. data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +132 -0
  689. data/src/core/ext/xds/xds_cluster_specifier_plugin.h +97 -0
  690. data/src/core/ext/xds/xds_common_types.cc +238 -123
  691. data/src/core/ext/xds/xds_common_types.h +29 -16
  692. data/src/core/ext/xds/xds_endpoint.cc +266 -156
  693. data/src/core/ext/xds/xds_endpoint.h +19 -15
  694. data/src/core/ext/xds/xds_health_status.cc +80 -0
  695. data/src/core/ext/xds/xds_health_status.h +109 -0
  696. data/src/core/ext/xds/xds_http_fault_filter.cc +68 -59
  697. data/src/core/ext/xds/xds_http_fault_filter.h +19 -25
  698. data/src/core/ext/xds/xds_http_filters.cc +70 -71
  699. data/src/core/ext/xds/xds_http_filters.h +73 -25
  700. data/src/core/ext/xds/xds_http_rbac_filter.cc +168 -225
  701. data/src/core/ext/xds/xds_http_rbac_filter.h +22 -18
  702. data/src/core/ext/xds/xds_http_stateful_session_filter.cc +218 -0
  703. data/src/core/ext/xds/xds_http_stateful_session_filter.h +58 -0
  704. data/src/core/ext/xds/xds_lb_policy_registry.cc +334 -0
  705. data/src/core/ext/xds/xds_lb_policy_registry.h +71 -0
  706. data/src/core/ext/xds/xds_listener.cc +573 -481
  707. data/src/core/ext/xds/xds_listener.h +57 -51
  708. data/src/core/ext/xds/xds_resource_type.h +28 -22
  709. data/src/core/ext/xds/xds_resource_type_impl.h +18 -17
  710. data/src/core/ext/xds/xds_route_config.cc +638 -479
  711. data/src/core/ext/xds/xds_route_config.h +79 -42
  712. data/src/core/ext/xds/xds_routing.cc +21 -7
  713. data/src/core/ext/xds/xds_routing.h +17 -12
  714. data/src/core/ext/xds/xds_server_config_fetcher.cc +244 -200
  715. data/src/core/ext/xds/xds_transport.h +86 -0
  716. data/src/core/ext/xds/xds_transport_grpc.cc +356 -0
  717. data/src/core/ext/xds/xds_transport_grpc.h +135 -0
  718. data/src/core/lib/address_utils/parse_address.cc +52 -52
  719. data/src/core/lib/address_utils/parse_address.h +46 -42
  720. data/src/core/lib/address_utils/sockaddr_utils.cc +90 -54
  721. data/src/core/lib/address_utils/sockaddr_utils.h +45 -40
  722. data/src/core/lib/avl/avl.h +100 -13
  723. data/src/core/lib/backoff/backoff.cc +19 -21
  724. data/src/core/lib/backoff/backoff.h +21 -21
  725. data/src/core/lib/channel/call_finalization.h +6 -4
  726. data/src/core/lib/channel/call_tracer.h +27 -9
  727. data/src/core/lib/channel/channel_args.cc +268 -101
  728. data/src/core/lib/channel/channel_args.h +461 -56
  729. data/src/core/lib/channel/channel_args_preconditioning.cc +6 -11
  730. data/src/core/lib/channel/channel_args_preconditioning.h +7 -7
  731. data/src/core/lib/channel/channel_fwd.h +26 -0
  732. data/src/core/lib/channel/channel_stack.cc +92 -52
  733. data/src/core/lib/channel/channel_stack.h +186 -140
  734. data/src/core/lib/channel/channel_stack_builder.cc +26 -104
  735. data/src/core/lib/channel/channel_stack_builder.h +45 -31
  736. data/src/core/lib/channel/channel_stack_builder_impl.cc +126 -0
  737. data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
  738. data/src/core/lib/channel/channel_trace.cc +29 -36
  739. data/src/core/lib/channel/channel_trace.h +27 -24
  740. data/src/core/lib/channel/channelz.cc +50 -65
  741. data/src/core/lib/channel/channelz.h +50 -33
  742. data/src/core/lib/channel/channelz_registry.cc +28 -36
  743. data/src/core/lib/channel/channelz_registry.h +31 -30
  744. data/src/core/lib/channel/connected_channel.cc +1267 -78
  745. data/src/core/lib/channel/connected_channel.h +22 -23
  746. data/src/core/lib/channel/context.h +25 -21
  747. data/src/core/lib/channel/promise_based_filter.cc +2155 -303
  748. data/src/core/lib/channel/promise_based_filter.h +636 -122
  749. data/src/core/lib/channel/status_util.cc +64 -17
  750. data/src/core/lib/channel/status_util.h +38 -24
  751. data/src/core/lib/compression/compression.cc +24 -19
  752. data/src/core/lib/compression/compression_internal.cc +89 -70
  753. data/src/core/lib/compression/compression_internal.h +28 -27
  754. data/src/core/lib/compression/message_compress.cc +28 -26
  755. data/src/core/lib/compression/message_compress.h +28 -29
  756. data/src/core/lib/config/core_configuration.cc +8 -1
  757. data/src/core/lib/config/core_configuration.h +86 -39
  758. data/src/core/lib/debug/event_log.cc +88 -0
  759. data/src/core/lib/debug/event_log.h +81 -0
  760. data/src/core/lib/debug/histogram_view.cc +69 -0
  761. data/src/core/lib/debug/histogram_view.h +37 -0
  762. data/src/core/lib/debug/stats.cc +48 -152
  763. data/src/core/lib/debug/stats.h +50 -57
  764. data/src/core/lib/debug/stats_data.cc +302 -649
  765. data/src/core/lib/debug/stats_data.h +293 -548
  766. data/src/core/lib/debug/trace.cc +18 -20
  767. data/src/core/lib/debug/trace.h +27 -48
  768. data/src/core/lib/event_engine/channel_args_endpoint_config.cc +16 -17
  769. data/src/core/lib/event_engine/channel_args_endpoint_config.h +16 -9
  770. data/src/core/lib/event_engine/common_closures.h +71 -0
  771. data/src/core/lib/event_engine/default_event_engine.cc +99 -0
  772. data/src/core/lib/event_engine/default_event_engine.h +73 -0
  773. data/src/core/lib/event_engine/default_event_engine_factory.cc +24 -3
  774. data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine_factory.h} +6 -9
  775. data/src/core/lib/event_engine/event_engine.cc +3 -30
  776. data/src/core/lib/event_engine/executor/executor.h +38 -0
  777. data/src/core/lib/event_engine/forkable.cc +106 -0
  778. data/src/core/lib/event_engine/forkable.h +61 -0
  779. data/src/core/lib/event_engine/handle_containers.h +74 -0
  780. data/src/core/lib/event_engine/memory_allocator.cc +11 -3
  781. data/src/core/lib/event_engine/poller.h +62 -0
  782. data/src/core/lib/event_engine/posix.h +158 -0
  783. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +642 -0
  784. data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +139 -0
  785. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +899 -0
  786. data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +97 -0
  787. data/src/core/lib/event_engine/posix_engine/event_poller.h +111 -0
  788. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +74 -0
  789. data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +33 -0
  790. data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +77 -0
  791. data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +179 -0
  792. data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +265 -0
  793. data/src/core/lib/event_engine/posix_engine/lockfree_event.h +73 -0
  794. data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +1305 -0
  795. data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +717 -0
  796. data/src/core/lib/event_engine/posix_engine/posix_engine.cc +640 -0
  797. data/src/core/lib/event_engine/posix_engine/posix_engine.h +259 -0
  798. data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +80 -0
  799. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +289 -0
  800. data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +279 -0
  801. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +379 -0
  802. data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +91 -0
  803. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +853 -0
  804. data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +316 -0
  805. data/src/core/lib/event_engine/posix_engine/timer.cc +311 -0
  806. data/src/core/lib/event_engine/posix_engine/timer.h +194 -0
  807. data/src/core/lib/event_engine/posix_engine/timer_heap.cc +107 -0
  808. data/src/core/lib/event_engine/posix_engine/timer_heap.h +56 -0
  809. data/src/core/lib/event_engine/posix_engine/timer_manager.cc +173 -0
  810. data/src/core/lib/event_engine/posix_engine/timer_manager.h +114 -0
  811. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +332 -0
  812. data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +185 -0
  813. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +127 -0
  814. data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +45 -0
  815. data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +150 -0
  816. data/src/core/lib/{iomgr/event_engine/promise.h → event_engine/posix_engine/wakeup_fd_pipe.h} +19 -25
  817. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +76 -0
  818. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +67 -0
  819. data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +37 -0
  820. data/src/core/lib/event_engine/resolved_address.cc +23 -2
  821. data/src/core/lib/{iomgr/event_engine → event_engine}/resolved_address_internal.h +5 -8
  822. data/src/core/lib/event_engine/shim.cc +56 -0
  823. data/src/core/lib/event_engine/shim.h +33 -0
  824. data/src/core/lib/event_engine/slice.cc +103 -0
  825. data/src/core/lib/event_engine/slice_buffer.cc +50 -0
  826. data/src/core/lib/event_engine/tcp_socket_utils.cc +389 -0
  827. data/src/core/lib/event_engine/tcp_socket_utils.h +90 -0
  828. data/src/core/lib/event_engine/thread_local.cc +29 -0
  829. data/src/core/lib/event_engine/thread_local.h +32 -0
  830. data/src/core/lib/event_engine/thread_pool.cc +253 -0
  831. data/src/core/lib/event_engine/thread_pool.h +141 -0
  832. data/src/core/lib/event_engine/time_util.cc +30 -0
  833. data/src/core/lib/event_engine/time_util.h +32 -0
  834. data/src/core/{ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc → lib/event_engine/trace.cc} +9 -13
  835. data/src/core/lib/event_engine/trace.h +43 -0
  836. data/src/core/lib/event_engine/utils.cc +44 -0
  837. data/src/core/lib/event_engine/utils.h +44 -0
  838. data/src/core/lib/event_engine/windows/iocp.cc +140 -0
  839. data/src/core/lib/event_engine/windows/iocp.h +69 -0
  840. data/src/core/lib/event_engine/windows/win_socket.cc +219 -0
  841. data/src/core/lib/event_engine/windows/win_socket.h +129 -0
  842. data/src/core/lib/event_engine/windows/windows_endpoint.cc +331 -0
  843. data/src/core/lib/event_engine/windows/windows_endpoint.h +103 -0
  844. data/src/core/lib/event_engine/windows/windows_engine.cc +388 -0
  845. data/src/core/lib/event_engine/windows/windows_engine.h +163 -0
  846. data/src/core/lib/experiments/config.cc +161 -0
  847. data/src/core/lib/experiments/config.h +53 -0
  848. data/src/core/lib/experiments/experiments.cc +81 -0
  849. data/src/core/lib/experiments/experiments.h +117 -0
  850. data/src/core/lib/gpr/alloc.cc +19 -25
  851. data/src/core/lib/gpr/alloc.h +20 -20
  852. data/src/core/lib/gpr/atm.cc +17 -17
  853. data/src/core/lib/gpr/cpu_iphone.cc +24 -24
  854. data/src/core/lib/gpr/cpu_linux.cc +28 -23
  855. data/src/core/lib/gpr/cpu_posix.cc +23 -22
  856. data/src/core/lib/gpr/cpu_windows.cc +20 -18
  857. data/src/core/lib/gpr/log.cc +30 -17
  858. data/src/core/lib/gpr/log_android.cc +22 -20
  859. data/src/core/lib/gpr/log_linux.cc +24 -24
  860. data/src/core/lib/gpr/log_posix.cc +20 -19
  861. data/src/core/lib/gpr/log_windows.cc +25 -25
  862. data/src/core/lib/gpr/spinlock.h +20 -20
  863. data/src/core/lib/gpr/string.cc +25 -24
  864. data/src/core/lib/gpr/string.h +61 -61
  865. data/src/core/lib/gpr/string_posix.cc +24 -24
  866. data/src/core/lib/gpr/string_util_windows.cc +25 -52
  867. data/src/core/lib/gpr/string_windows.cc +24 -24
  868. data/src/core/lib/gpr/sync.cc +25 -25
  869. data/src/core/lib/gpr/sync_abseil.cc +36 -40
  870. data/src/core/lib/gpr/sync_posix.cc +22 -34
  871. data/src/core/lib/gpr/sync_windows.cc +29 -27
  872. data/src/core/lib/gpr/time.cc +34 -30
  873. data/src/core/lib/gpr/time_posix.cc +41 -45
  874. data/src/core/lib/gpr/time_precise.cc +22 -22
  875. data/src/core/lib/gpr/time_precise.h +21 -22
  876. data/src/core/lib/gpr/time_windows.cc +35 -29
  877. data/src/core/lib/gpr/tmpfile.h +24 -24
  878. data/src/core/lib/gpr/tmpfile_msys.cc +21 -20
  879. data/src/core/lib/gpr/tmpfile_posix.cc +22 -20
  880. data/src/core/lib/gpr/tmpfile_windows.cc +28 -29
  881. data/src/core/lib/gpr/useful.h +83 -30
  882. data/src/core/lib/gpr/wrap_memcpy.cc +23 -23
  883. data/src/core/lib/gprpp/atomic_utils.h +20 -20
  884. data/src/core/lib/gprpp/bitset.h +47 -17
  885. data/src/core/lib/gprpp/chunked_vector.h +7 -3
  886. data/src/core/lib/gprpp/construct_destruct.h +4 -3
  887. data/src/core/lib/gprpp/cpp_impl_of.h +7 -3
  888. data/src/core/{ext/xds/xds_resource_type.cc → lib/gprpp/crash.cc} +12 -12
  889. data/src/core/lib/gprpp/crash.h +34 -0
  890. data/src/core/lib/gprpp/debug_location.h +60 -31
  891. data/src/core/lib/gprpp/dual_ref_counted.h +4 -7
  892. data/src/core/lib/gprpp/env.h +53 -0
  893. data/src/core/lib/gprpp/env_linux.cc +80 -0
  894. data/src/core/{ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc → lib/gprpp/env_posix.cc} +25 -9
  895. data/src/core/lib/gprpp/env_windows.cc +56 -0
  896. data/src/core/lib/gprpp/examine_stack.cc +17 -17
  897. data/src/core/lib/gprpp/examine_stack.h +21 -22
  898. data/src/core/lib/gprpp/fork.cc +58 -53
  899. data/src/core/lib/gprpp/fork.h +29 -35
  900. data/src/core/lib/gprpp/global_config.h +22 -24
  901. data/src/core/lib/gprpp/global_config_custom.h +20 -20
  902. data/src/core/lib/gprpp/global_config_env.cc +28 -25
  903. data/src/core/lib/gprpp/global_config_env.h +29 -27
  904. data/src/core/lib/gprpp/global_config_generic.h +21 -25
  905. data/src/core/lib/gprpp/host_port.cc +30 -26
  906. data/src/core/lib/gprpp/host_port.h +32 -31
  907. data/src/core/lib/gprpp/load_file.cc +75 -0
  908. data/src/core/lib/gprpp/load_file.h +33 -0
  909. data/src/core/lib/gprpp/manual_constructor.h +21 -89
  910. data/src/core/lib/gprpp/match.h +75 -0
  911. data/src/core/lib/gprpp/memory.h +22 -26
  912. data/src/core/lib/gprpp/mpscq.cc +17 -17
  913. data/src/core/lib/gprpp/mpscq.h +21 -21
  914. data/src/core/lib/gprpp/no_destruct.h +95 -0
  915. data/src/core/lib/gprpp/notification.h +67 -0
  916. data/src/core/lib/gprpp/orphanable.h +22 -25
  917. data/src/core/lib/gprpp/overload.h +59 -0
  918. data/src/core/lib/gprpp/packed_table.h +40 -0
  919. data/src/core/lib/gprpp/per_cpu.h +46 -0
  920. data/src/core/lib/gprpp/ref_counted.h +24 -24
  921. data/src/core/lib/gprpp/ref_counted_ptr.h +42 -55
  922. data/src/core/lib/gprpp/single_set_ptr.h +87 -0
  923. data/src/core/lib/gprpp/sorted_pack.h +98 -0
  924. data/src/core/lib/gprpp/stat.h +3 -5
  925. data/src/core/lib/gprpp/stat_posix.cc +10 -4
  926. data/src/core/lib/gprpp/stat_windows.cc +4 -2
  927. data/src/core/lib/gprpp/status_helper.cc +56 -20
  928. data/src/core/lib/gprpp/status_helper.h +13 -5
  929. data/src/core/lib/gprpp/strerror.cc +43 -0
  930. data/src/core/lib/gprpp/strerror.h +29 -0
  931. data/src/core/lib/gprpp/sync.h +26 -24
  932. data/src/core/lib/gprpp/table.h +22 -4
  933. data/src/core/lib/gprpp/tchar.cc +49 -0
  934. data/src/core/lib/gprpp/tchar.h +33 -0
  935. data/src/core/lib/gprpp/thd.h +25 -28
  936. data/src/core/lib/gprpp/thd_posix.cc +33 -32
  937. data/src/core/lib/gprpp/thd_windows.cc +28 -26
  938. data/src/core/lib/gprpp/time.cc +64 -9
  939. data/src/core/lib/gprpp/time.h +79 -5
  940. data/src/core/lib/gprpp/time_averaged_stats.cc +60 -0
  941. data/src/core/lib/gprpp/time_averaged_stats.h +79 -0
  942. data/src/core/lib/gprpp/time_util.cc +4 -0
  943. data/src/core/lib/gprpp/time_util.h +3 -3
  944. data/src/core/lib/gprpp/unique_type_name.h +104 -0
  945. data/src/core/lib/gprpp/validation_errors.cc +61 -0
  946. data/src/core/lib/gprpp/validation_errors.h +127 -0
  947. data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
  948. data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -28
  949. data/src/core/lib/handshaker/proxy_mapper.h +53 -0
  950. data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
  951. data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
  952. data/src/core/lib/http/format_request.cc +54 -24
  953. data/src/core/lib/http/format_request.h +23 -21
  954. data/src/core/lib/http/httpcli.cc +139 -141
  955. data/src/core/lib/http/httpcli.h +86 -38
  956. data/src/core/lib/http/httpcli_security_connector.cc +53 -45
  957. data/src/core/lib/http/httpcli_ssl_credentials.h +6 -4
  958. data/src/core/lib/http/parser.cc +144 -85
  959. data/src/core/lib/http/parser.h +51 -35
  960. data/src/core/lib/iomgr/block_annotate.h +23 -23
  961. data/src/core/lib/iomgr/buffer_list.cc +156 -136
  962. data/src/core/lib/iomgr/buffer_list.h +123 -101
  963. data/src/core/lib/iomgr/call_combiner.cc +32 -64
  964. data/src/core/lib/iomgr/call_combiner.h +24 -25
  965. data/src/core/lib/iomgr/cfstream_handle.cc +33 -36
  966. data/src/core/lib/iomgr/cfstream_handle.h +25 -25
  967. data/src/core/lib/iomgr/{event_engine/pollset.h → closure.cc} +9 -7
  968. data/src/core/lib/iomgr/closure.h +95 -58
  969. data/src/core/lib/iomgr/combiner.cc +20 -39
  970. data/src/core/lib/iomgr/combiner.h +20 -20
  971. data/src/core/lib/iomgr/dualstack_socket_posix.cc +21 -21
  972. data/src/core/lib/iomgr/dynamic_annotations.h +22 -22
  973. data/src/core/lib/iomgr/endpoint.cc +21 -21
  974. data/src/core/lib/iomgr/endpoint.h +53 -51
  975. data/src/core/lib/iomgr/endpoint_cfstream.cc +51 -47
  976. data/src/core/lib/iomgr/endpoint_cfstream.h +32 -32
  977. data/src/core/lib/iomgr/endpoint_pair.h +20 -20
  978. data/src/core/lib/iomgr/endpoint_pair_posix.cc +34 -27
  979. data/src/core/lib/iomgr/endpoint_pair_windows.cc +30 -21
  980. data/src/core/lib/iomgr/error.cc +51 -834
  981. data/src/core/lib/iomgr/error.h +45 -317
  982. data/src/core/lib/iomgr/error_cfstream.cc +18 -23
  983. data/src/core/lib/iomgr/error_cfstream.h +21 -21
  984. data/src/core/lib/iomgr/ev_apple.cc +21 -21
  985. data/src/core/lib/iomgr/ev_apple.h +21 -21
  986. data/src/core/lib/iomgr/ev_epoll1_linux.cc +263 -248
  987. data/src/core/lib/iomgr/ev_epoll1_linux.h +21 -21
  988. data/src/core/lib/iomgr/ev_poll_posix.cc +296 -271
  989. data/src/core/lib/iomgr/ev_poll_posix.h +22 -22
  990. data/src/core/lib/iomgr/ev_posix.cc +88 -122
  991. data/src/core/lib/iomgr/ev_posix.h +93 -87
  992. data/src/core/lib/iomgr/ev_windows.cc +18 -18
  993. data/src/core/lib/iomgr/{event_engine → event_engine_shims}/closure.cc +15 -30
  994. data/src/core/lib/iomgr/{event_engine → event_engine_shims}/closure.h +10 -13
  995. data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +430 -0
  996. data/src/core/lib/iomgr/event_engine_shims/endpoint.h +43 -0
  997. data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +91 -0
  998. data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +44 -0
  999. data/src/core/lib/iomgr/exec_ctx.cc +34 -56
  1000. data/src/core/lib/iomgr/exec_ctx.h +152 -177
  1001. data/src/core/lib/iomgr/executor.cc +21 -31
  1002. data/src/core/lib/iomgr/executor.h +27 -30
  1003. data/src/core/lib/iomgr/fork_posix.cc +31 -28
  1004. data/src/core/lib/iomgr/fork_windows.cc +21 -21
  1005. data/src/core/lib/iomgr/gethostname.h +20 -20
  1006. data/src/core/lib/iomgr/gethostname_fallback.cc +17 -17
  1007. data/src/core/lib/iomgr/gethostname_host_name_max.cc +17 -17
  1008. data/src/core/lib/iomgr/gethostname_sysconf.cc +17 -17
  1009. data/src/core/lib/iomgr/grpc_if_nametoindex.h +22 -22
  1010. data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +20 -19
  1011. data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +20 -19
  1012. data/src/core/lib/iomgr/internal_errqueue.cc +41 -48
  1013. data/src/core/lib/iomgr/internal_errqueue.h +84 -89
  1014. data/src/core/lib/iomgr/iocp_windows.cc +23 -23
  1015. data/src/core/lib/iomgr/iocp_windows.h +21 -21
  1016. data/src/core/lib/iomgr/iomgr.cc +25 -20
  1017. data/src/core/lib/iomgr/iomgr.h +35 -35
  1018. data/src/core/lib/iomgr/iomgr_fwd.h +26 -0
  1019. data/src/core/lib/iomgr/iomgr_internal.cc +17 -17
  1020. data/src/core/lib/iomgr/iomgr_internal.h +28 -28
  1021. data/src/core/lib/iomgr/iomgr_posix.cc +21 -20
  1022. data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +21 -19
  1023. data/src/core/lib/iomgr/iomgr_windows.cc +24 -22
  1024. data/src/core/lib/iomgr/load_file.cc +24 -27
  1025. data/src/core/lib/iomgr/load_file.h +22 -22
  1026. data/src/core/lib/iomgr/lockfree_event.cc +114 -131
  1027. data/src/core/lib/iomgr/lockfree_event.h +23 -23
  1028. data/src/core/lib/iomgr/nameser.h +86 -86
  1029. data/src/core/lib/iomgr/polling_entity.cc +25 -21
  1030. data/src/core/lib/iomgr/polling_entity.h +29 -29
  1031. data/src/core/lib/iomgr/pollset.cc +17 -17
  1032. data/src/core/lib/iomgr/pollset.h +55 -55
  1033. data/src/core/lib/iomgr/pollset_set.cc +17 -17
  1034. data/src/core/lib/iomgr/pollset_set.h +26 -28
  1035. data/src/core/lib/iomgr/pollset_set_windows.cc +18 -18
  1036. data/src/core/lib/iomgr/pollset_set_windows.h +20 -20
  1037. data/src/core/lib/iomgr/pollset_windows.cc +32 -31
  1038. data/src/core/lib/iomgr/pollset_windows.h +24 -24
  1039. data/src/core/lib/iomgr/port.h +59 -39
  1040. data/src/core/lib/iomgr/python_util.h +24 -24
  1041. data/src/core/lib/iomgr/resolve_address.cc +34 -20
  1042. data/src/core/lib/iomgr/resolve_address.h +73 -43
  1043. data/src/core/lib/iomgr/resolve_address_impl.h +7 -7
  1044. data/src/core/lib/iomgr/resolve_address_posix.cc +81 -62
  1045. data/src/core/lib/iomgr/resolve_address_posix.h +26 -10
  1046. data/src/core/lib/iomgr/resolve_address_windows.cc +64 -38
  1047. data/src/core/lib/iomgr/resolve_address_windows.h +26 -10
  1048. data/src/core/lib/iomgr/resolved_address.h +3 -3
  1049. data/src/core/lib/iomgr/sockaddr.h +25 -26
  1050. data/src/core/lib/iomgr/sockaddr_posix.h +23 -21
  1051. data/src/core/lib/iomgr/sockaddr_utils_posix.cc +20 -18
  1052. data/src/core/lib/iomgr/sockaddr_windows.h +23 -21
  1053. data/src/core/lib/iomgr/socket_factory_posix.cc +18 -18
  1054. data/src/core/lib/iomgr/socket_factory_posix.h +32 -32
  1055. data/src/core/lib/iomgr/socket_mutator.cc +19 -18
  1056. data/src/core/lib/iomgr/socket_mutator.h +39 -39
  1057. data/src/core/lib/iomgr/socket_utils.h +27 -27
  1058. data/src/core/lib/iomgr/socket_utils_common_posix.cc +82 -101
  1059. data/src/core/lib/iomgr/socket_utils_linux.cc +18 -17
  1060. data/src/core/lib/iomgr/socket_utils_posix.cc +103 -19
  1061. data/src/core/lib/iomgr/socket_utils_posix.h +176 -84
  1062. data/src/core/lib/iomgr/socket_utils_windows.cc +20 -19
  1063. data/src/core/lib/iomgr/socket_windows.cc +37 -36
  1064. data/src/core/lib/iomgr/socket_windows.h +59 -61
  1065. data/src/core/lib/iomgr/systemd_utils.cc +116 -0
  1066. data/src/core/lib/iomgr/systemd_utils.h +33 -0
  1067. data/src/core/lib/iomgr/tcp_client.cc +28 -24
  1068. data/src/core/lib/iomgr/tcp_client.h +49 -38
  1069. data/src/core/lib/iomgr/tcp_client_cfstream.cc +46 -35
  1070. data/src/core/lib/iomgr/tcp_client_posix.cc +244 -106
  1071. data/src/core/lib/iomgr/tcp_client_posix.h +55 -52
  1072. data/src/core/lib/iomgr/tcp_client_windows.cc +73 -53
  1073. data/src/core/lib/iomgr/tcp_posix.cc +562 -361
  1074. data/src/core/lib/iomgr/tcp_posix.h +32 -30
  1075. data/src/core/lib/iomgr/tcp_server.cc +33 -24
  1076. data/src/core/lib/iomgr/tcp_server.h +78 -69
  1077. data/src/core/lib/iomgr/tcp_server_posix.cc +402 -145
  1078. data/src/core/lib/iomgr/tcp_server_utils_posix.h +68 -55
  1079. data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +120 -82
  1080. data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +46 -43
  1081. data/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc +19 -19
  1082. data/src/core/lib/iomgr/tcp_server_windows.cc +116 -118
  1083. data/src/core/lib/iomgr/tcp_windows.cc +116 -98
  1084. data/src/core/lib/iomgr/tcp_windows.h +34 -35
  1085. data/src/core/lib/iomgr/timer.cc +17 -17
  1086. data/src/core/lib/iomgr/timer.h +68 -68
  1087. data/src/core/lib/iomgr/timer_generic.cc +125 -134
  1088. data/src/core/lib/iomgr/timer_generic.h +21 -21
  1089. data/src/core/lib/iomgr/timer_heap.cc +25 -25
  1090. data/src/core/lib/iomgr/timer_heap.h +22 -22
  1091. data/src/core/lib/iomgr/timer_manager.cc +31 -31
  1092. data/src/core/lib/iomgr/timer_manager.h +27 -27
  1093. data/src/core/lib/iomgr/unix_sockets_posix.cc +20 -21
  1094. data/src/core/lib/iomgr/unix_sockets_posix.h +21 -21
  1095. data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +19 -17
  1096. data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +23 -23
  1097. data/src/core/lib/iomgr/wakeup_fd_nospecial.cc +23 -23
  1098. data/src/core/lib/iomgr/wakeup_fd_pipe.cc +29 -26
  1099. data/src/core/lib/iomgr/wakeup_fd_pipe.h +20 -20
  1100. data/src/core/lib/iomgr/wakeup_fd_posix.cc +33 -30
  1101. data/src/core/lib/iomgr/wakeup_fd_posix.h +52 -54
  1102. data/src/core/lib/json/json.h +23 -27
  1103. data/src/core/{ext/filters/http/message_compress/message_decompress_filter.h → lib/json/json_args.h} +13 -10
  1104. data/src/core/lib/json/json_channel_args.h +42 -0
  1105. data/src/core/lib/json/json_object_loader.cc +217 -0
  1106. data/src/core/lib/json/json_object_loader.h +634 -0
  1107. data/src/core/lib/json/json_reader.cc +123 -90
  1108. data/src/core/lib/json/json_util.cc +14 -34
  1109. data/src/core/lib/json/json_util.h +19 -10
  1110. data/src/core/lib/json/json_writer.cc +62 -57
  1111. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +30 -60
  1112. data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +47 -62
  1113. data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
  1114. data/src/core/lib/load_balancing/lb_policy_registry.cc +142 -0
  1115. data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
  1116. data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +57 -52
  1117. data/src/core/lib/matchers/matchers.cc +12 -7
  1118. data/src/core/lib/matchers/matchers.h +5 -3
  1119. data/src/core/lib/promise/activity.cc +23 -8
  1120. data/src/core/lib/promise/activity.h +116 -58
  1121. data/src/core/lib/promise/arena_promise.h +115 -72
  1122. data/src/core/lib/promise/context.h +18 -11
  1123. data/src/core/lib/promise/detail/basic_join.h +197 -0
  1124. data/src/core/lib/promise/detail/basic_seq.h +28 -33
  1125. data/src/core/lib/promise/detail/promise_factory.h +61 -14
  1126. data/src/core/lib/promise/detail/promise_like.h +3 -3
  1127. data/src/core/lib/promise/detail/status.h +33 -4
  1128. data/src/core/lib/promise/detail/switch.h +21 -21
  1129. data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +23 -15
  1130. data/src/core/lib/promise/if.h +195 -0
  1131. data/src/core/lib/promise/interceptor_list.h +308 -0
  1132. data/src/core/lib/promise/intra_activity_waiter.h +55 -0
  1133. data/src/core/lib/promise/latch.h +191 -0
  1134. data/src/core/lib/promise/loop.h +13 -9
  1135. data/src/core/lib/promise/map.h +4 -6
  1136. data/src/core/lib/promise/pipe.h +608 -0
  1137. data/src/core/lib/promise/poll.h +129 -11
  1138. data/src/core/lib/promise/promise.h +5 -5
  1139. data/src/core/lib/promise/race.h +6 -10
  1140. data/src/core/lib/promise/seq.h +32 -14
  1141. data/src/core/lib/promise/sleep.cc +58 -42
  1142. data/src/core/lib/promise/sleep.h +44 -26
  1143. data/src/core/lib/promise/trace.cc +20 -0
  1144. data/src/core/{ext/filters/max_age/max_age_filter.h → lib/promise/trace.h} +6 -8
  1145. data/src/core/lib/promise/try_join.h +82 -0
  1146. data/src/core/lib/promise/try_seq.h +41 -23
  1147. data/src/core/lib/resolver/resolver.cc +17 -59
  1148. data/src/core/lib/resolver/resolver.h +21 -18
  1149. data/src/core/lib/resolver/resolver_factory.h +11 -10
  1150. data/src/core/lib/resolver/resolver_registry.cc +17 -9
  1151. data/src/core/lib/resolver/resolver_registry.h +15 -5
  1152. data/src/core/lib/resolver/server_address.cc +46 -34
  1153. data/src/core/lib/resolver/server_address.h +36 -35
  1154. data/src/core/lib/resource_quota/api.cc +25 -29
  1155. data/src/core/lib/resource_quota/api.h +14 -5
  1156. data/src/core/lib/resource_quota/arena.cc +85 -27
  1157. data/src/core/lib/resource_quota/arena.h +197 -25
  1158. data/src/core/lib/resource_quota/memory_quota.cc +322 -101
  1159. data/src/core/lib/resource_quota/memory_quota.h +191 -56
  1160. data/src/core/lib/resource_quota/periodic_update.cc +78 -0
  1161. data/src/core/lib/resource_quota/periodic_update.h +71 -0
  1162. data/src/core/lib/resource_quota/resource_quota.h +20 -4
  1163. data/src/core/lib/resource_quota/thread_quota.cc +2 -0
  1164. data/src/core/lib/resource_quota/thread_quota.h +7 -3
  1165. data/src/core/lib/resource_quota/trace.h +3 -3
  1166. data/src/core/lib/security/authorization/authorization_engine.h +3 -3
  1167. data/src/core/lib/security/authorization/authorization_policy_provider.h +17 -3
  1168. data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +3 -0
  1169. data/src/core/lib/security/authorization/evaluate_args.cc +17 -8
  1170. data/src/core/lib/security/authorization/evaluate_args.h +9 -6
  1171. data/src/core/lib/security/authorization/grpc_authorization_engine.cc +5 -1
  1172. data/src/core/lib/security/authorization/grpc_authorization_engine.h +10 -3
  1173. data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +26 -13
  1174. data/src/core/lib/security/authorization/grpc_server_authz_filter.h +20 -10
  1175. data/src/core/lib/security/authorization/matchers.cc +44 -30
  1176. data/src/core/lib/security/authorization/matchers.h +10 -3
  1177. data/src/core/lib/security/authorization/rbac_policy.cc +6 -2
  1178. data/src/core/lib/security/authorization/rbac_policy.h +10 -3
  1179. data/src/core/{ext/xds → lib/security/certificate_provider}/certificate_provider_factory.h +9 -4
  1180. data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
  1181. data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
  1182. data/src/core/lib/security/context/security_context.cc +27 -25
  1183. data/src/core/lib/security/context/security_context.h +64 -35
  1184. data/src/core/lib/security/credentials/alts/alts_credentials.cc +35 -27
  1185. data/src/core/lib/security/credentials/alts/alts_credentials.h +65 -57
  1186. data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +19 -19
  1187. data/src/core/lib/security/credentials/alts/check_gcp_environment.h +43 -43
  1188. data/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc +17 -17
  1189. data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +18 -17
  1190. data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +18 -17
  1191. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +20 -22
  1192. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +18 -18
  1193. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +38 -39
  1194. data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +19 -22
  1195. data/src/core/lib/security/credentials/call_creds_util.cc +13 -3
  1196. data/src/core/lib/security/credentials/call_creds_util.h +6 -5
  1197. data/src/core/lib/security/credentials/channel_creds_registry.h +10 -4
  1198. data/src/core/lib/security/credentials/channel_creds_registry_init.cc +13 -3
  1199. data/src/core/lib/security/credentials/composite/composite_credentials.cc +46 -41
  1200. data/src/core/lib/security/credentials/composite/composite_credentials.h +51 -38
  1201. data/src/core/lib/security/credentials/credentials.cc +23 -26
  1202. data/src/core/lib/security/credentials/credentials.h +91 -94
  1203. data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +202 -74
  1204. data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +21 -3
  1205. data/src/core/lib/security/credentials/external/aws_request_signer.cc +14 -3
  1206. data/src/core/lib/security/credentials/external/aws_request_signer.h +3 -3
  1207. data/src/core/lib/security/credentials/external/external_account_credentials.cc +86 -68
  1208. data/src/core/lib/security/credentials/external/external_account_credentials.h +14 -3
  1209. data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +29 -26
  1210. data/src/core/lib/security/credentials/external/file_external_account_credentials.h +9 -3
  1211. data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +44 -31
  1212. data/src/core/lib/security/credentials/external/url_external_account_credentials.h +13 -3
  1213. data/src/core/lib/security/credentials/fake/fake_credentials.cc +48 -48
  1214. data/src/core/lib/security/credentials/fake/fake_credentials.h +57 -47
  1215. data/src/core/lib/security/credentials/google_default/credentials_generic.cc +23 -25
  1216. data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +148 -112
  1217. data/src/core/lib/security/credentials/google_default/google_default_credentials.h +35 -29
  1218. data/src/core/lib/security/credentials/iam/iam_credentials.cc +35 -24
  1219. data/src/core/lib/security/credentials/iam/iam_credentials.h +37 -23
  1220. data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +32 -29
  1221. data/src/core/lib/security/credentials/insecure/insecure_credentials.h +61 -0
  1222. data/src/core/lib/security/credentials/jwt/json_token.cc +40 -29
  1223. data/src/core/lib/security/credentials/jwt/json_token.h +36 -36
  1224. data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +37 -30
  1225. data/src/core/lib/security/credentials/jwt/jwt_credentials.h +41 -23
  1226. data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +113 -89
  1227. data/src/core/lib/security/credentials/jwt/jwt_verifier.h +49 -47
  1228. data/src/core/lib/security/credentials/local/local_credentials.cc +36 -30
  1229. data/src/core/lib/security/credentials/local/local_credentials.h +36 -26
  1230. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +107 -91
  1231. data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +56 -27
  1232. data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +42 -36
  1233. data/src/core/lib/security/credentials/plugin/plugin_credentials.h +55 -29
  1234. data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +48 -44
  1235. data/src/core/lib/security/credentials/ssl/ssl_credentials.h +43 -23
  1236. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +22 -30
  1237. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +16 -17
  1238. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +65 -48
  1239. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +69 -9
  1240. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +44 -4
  1241. data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +75 -13
  1242. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +22 -23
  1243. data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +69 -98
  1244. data/src/core/lib/security/credentials/tls/tls_credentials.cc +55 -50
  1245. data/src/core/lib/security/credentials/tls/tls_credentials.h +33 -30
  1246. data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -1
  1247. data/src/core/lib/security/credentials/tls/tls_utils.h +4 -4
  1248. data/src/core/lib/security/credentials/xds/xds_credentials.cc +77 -81
  1249. data/src/core/lib/security/credentials/xds/xds_credentials.h +50 -10
  1250. data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +60 -54
  1251. data/src/core/lib/security/security_connector/alts/alts_security_connector.h +49 -47
  1252. data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +75 -79
  1253. data/src/core/lib/security/security_connector/fake/fake_security_connector.h +25 -26
  1254. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +15 -6
  1255. data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +26 -15
  1256. data/src/core/lib/security/security_connector/load_system_roots.h +20 -20
  1257. data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +22 -20
  1258. data/src/core/lib/security/security_connector/{load_system_roots_linux.cc → load_system_roots_supported.cc} +43 -38
  1259. data/src/core/lib/security/security_connector/load_system_roots_supported.h +45 -0
  1260. data/src/core/lib/security/security_connector/local/local_security_connector.cc +66 -49
  1261. data/src/core/lib/security/security_connector/local/local_security_connector.h +49 -46
  1262. data/src/core/lib/security/security_connector/security_connector.cc +37 -35
  1263. data/src/core/lib/security/security_connector/security_connector.h +67 -45
  1264. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +59 -48
  1265. data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +44 -43
  1266. data/src/core/lib/security/security_connector/ssl_utils.cc +47 -39
  1267. data/src/core/lib/security/security_connector/ssl_utils.h +45 -42
  1268. data/src/core/lib/security/security_connector/ssl_utils_config.cc +22 -22
  1269. data/src/core/lib/security/security_connector/ssl_utils_config.h +21 -22
  1270. data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +62 -58
  1271. data/src/core/lib/security/security_connector/tls/tls_security_connector.h +48 -28
  1272. data/src/core/lib/security/transport/auth_filters.h +59 -30
  1273. data/src/core/lib/security/transport/client_auth_filter.cc +73 -48
  1274. data/src/core/lib/security/transport/secure_endpoint.cc +305 -181
  1275. data/src/core/lib/security/transport/secure_endpoint.h +29 -28
  1276. data/src/core/lib/security/transport/security_handshaker.cc +142 -110
  1277. data/src/core/lib/security/transport/security_handshaker.h +28 -23
  1278. data/src/core/lib/security/transport/server_auth_filter.cc +157 -266
  1279. data/src/core/lib/security/transport/tsi_error.cc +23 -20
  1280. data/src/core/lib/security/transport/tsi_error.h +20 -20
  1281. data/src/core/lib/security/util/json_util.cc +24 -24
  1282. data/src/core/lib/security/util/json_util.h +21 -23
  1283. data/src/core/lib/service_config/service_config.h +19 -12
  1284. data/src/core/lib/service_config/service_config_call_data.h +15 -5
  1285. data/src/core/lib/service_config/service_config_impl.cc +111 -150
  1286. data/src/core/lib/service_config/service_config_impl.h +27 -27
  1287. data/src/core/lib/service_config/service_config_parser.cc +16 -28
  1288. data/src/core/lib/service_config/service_config_parser.h +18 -19
  1289. data/src/core/lib/slice/b64.cc +26 -26
  1290. data/src/core/lib/slice/b64.h +34 -32
  1291. data/src/core/lib/slice/percent_encoding.cc +24 -30
  1292. data/src/core/lib/slice/percent_encoding.h +28 -34
  1293. data/src/core/lib/slice/slice.cc +59 -46
  1294. data/src/core/lib/slice/slice.h +64 -20
  1295. data/src/core/lib/slice/slice_buffer.cc +136 -76
  1296. data/src/core/lib/slice/slice_buffer.h +168 -0
  1297. data/src/core/lib/slice/slice_internal.h +38 -45
  1298. data/src/core/lib/slice/slice_refcount.cc +3 -18
  1299. data/src/core/lib/slice/slice_refcount.h +53 -19
  1300. data/src/core/lib/slice/slice_string_helpers.cc +17 -33
  1301. data/src/core/lib/slice/slice_string_helpers.h +23 -30
  1302. data/src/core/lib/surface/api_trace.cc +17 -17
  1303. data/src/core/lib/surface/api_trace.h +25 -25
  1304. data/src/core/lib/surface/builtins.cc +7 -2
  1305. data/src/core/lib/surface/builtins.h +3 -3
  1306. data/src/core/lib/surface/byte_buffer.cc +26 -21
  1307. data/src/core/lib/surface/byte_buffer_reader.cc +24 -24
  1308. data/src/core/lib/surface/call.cc +3000 -1131
  1309. data/src/core/lib/surface/call.h +135 -56
  1310. data/src/core/lib/surface/call_details.cc +22 -23
  1311. data/src/core/lib/surface/call_log_batch.cc +25 -18
  1312. data/src/core/lib/surface/call_test_only.h +34 -31
  1313. data/src/core/lib/surface/call_trace.cc +123 -0
  1314. data/src/core/lib/surface/call_trace.h +30 -0
  1315. data/src/core/lib/surface/channel.cc +218 -284
  1316. data/src/core/lib/surface/channel.h +137 -90
  1317. data/src/core/lib/surface/channel_init.cc +19 -20
  1318. data/src/core/lib/surface/channel_init.h +24 -26
  1319. data/src/core/lib/surface/channel_ping.cc +26 -20
  1320. data/src/core/lib/surface/channel_stack_type.cc +21 -19
  1321. data/src/core/lib/surface/channel_stack_type.h +22 -22
  1322. data/src/core/lib/surface/completion_queue.cc +200 -222
  1323. data/src/core/lib/surface/completion_queue.h +42 -40
  1324. data/src/core/lib/surface/completion_queue_factory.cc +34 -28
  1325. data/src/core/lib/surface/completion_queue_factory.h +21 -23
  1326. data/src/core/lib/surface/event_string.cc +19 -24
  1327. data/src/core/lib/surface/event_string.h +21 -21
  1328. data/src/core/lib/surface/init.cc +57 -114
  1329. data/src/core/lib/surface/init.h +20 -28
  1330. data/src/core/lib/surface/init_internally.cc +25 -0
  1331. data/src/core/lib/surface/init_internally.h +37 -0
  1332. data/src/core/lib/surface/lame_client.cc +87 -130
  1333. data/src/core/lib/surface/lame_client.h +62 -24
  1334. data/src/core/lib/surface/metadata_array.cc +18 -17
  1335. data/src/core/lib/surface/server.cc +409 -188
  1336. data/src/core/lib/surface/server.h +57 -26
  1337. data/src/core/lib/surface/validate_metadata.cc +34 -48
  1338. data/src/core/lib/surface/validate_metadata.h +24 -21
  1339. data/src/core/lib/surface/version.cc +21 -21
  1340. data/src/core/lib/transport/bdp_estimator.cc +19 -19
  1341. data/src/core/lib/transport/bdp_estimator.h +22 -24
  1342. data/src/core/lib/transport/connectivity_state.cc +24 -23
  1343. data/src/core/lib/transport/connectivity_state.h +24 -25
  1344. data/src/core/lib/transport/error_utils.cc +57 -79
  1345. data/src/core/lib/transport/error_utils.h +29 -25
  1346. data/src/core/lib/{channel → transport}/handshaker.cc +75 -58
  1347. data/src/core/lib/{channel → transport}/handshaker.h +59 -48
  1348. data/src/core/lib/transport/handshaker_factory.h +74 -0
  1349. data/src/core/lib/transport/handshaker_registry.cc +61 -0
  1350. data/src/core/lib/transport/handshaker_registry.h +69 -0
  1351. data/src/core/lib/transport/http2_errors.h +22 -22
  1352. data/src/core/{ext/filters/client_channel → lib/transport}/http_connect_handshaker.cc +78 -65
  1353. data/src/core/lib/transport/http_connect_handshaker.h +42 -0
  1354. data/src/core/lib/transport/metadata_batch.cc +305 -0
  1355. data/src/core/lib/transport/metadata_batch.h +269 -302
  1356. data/src/core/lib/transport/parsed_metadata.cc +2 -4
  1357. data/src/core/lib/transport/parsed_metadata.h +17 -8
  1358. data/src/core/lib/transport/pid_controller.cc +20 -20
  1359. data/src/core/lib/transport/pid_controller.h +27 -27
  1360. data/src/core/lib/transport/status_conversion.cc +23 -23
  1361. data/src/core/lib/transport/status_conversion.h +24 -24
  1362. data/src/core/lib/transport/tcp_connect_handshaker.cc +245 -0
  1363. data/src/core/lib/transport/tcp_connect_handshaker.h +39 -0
  1364. data/src/core/lib/transport/timeout_encoding.cc +24 -28
  1365. data/src/core/lib/transport/timeout_encoding.h +25 -21
  1366. data/src/core/lib/transport/transport.cc +97 -57
  1367. data/src/core/lib/transport/transport.h +252 -207
  1368. data/src/core/lib/transport/transport_fwd.h +20 -0
  1369. data/src/core/lib/transport/transport_impl.h +59 -48
  1370. data/src/core/lib/transport/transport_op_string.cc +40 -39
  1371. data/src/core/lib/uri/uri_parser.cc +12 -4
  1372. data/src/core/lib/uri/uri_parser.h +3 -5
  1373. data/src/core/plugin_registry/grpc_plugin_registry.cc +62 -73
  1374. data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +20 -39
  1375. data/src/core/tsi/alts/crypt/aes_gcm.cc +20 -20
  1376. data/src/core/tsi/alts/crypt/gsec.cc +26 -26
  1377. data/src/core/tsi/alts/crypt/gsec.h +336 -336
  1378. data/src/core/tsi/alts/frame_protector/alts_counter.cc +23 -23
  1379. data/src/core/tsi/alts/frame_protector/alts_counter.h +68 -68
  1380. data/src/core/tsi/alts/frame_protector/alts_crypter.cc +19 -19
  1381. data/src/core/tsi/alts/frame_protector/alts_crypter.h +209 -209
  1382. data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +72 -71
  1383. data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +40 -40
  1384. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +18 -18
  1385. data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +82 -83
  1386. data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +22 -22
  1387. data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +22 -22
  1388. data/src/core/tsi/alts/frame_protector/frame_handler.cc +26 -25
  1389. data/src/core/tsi/alts/frame_protector/frame_handler.h +169 -169
  1390. data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +117 -97
  1391. data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +104 -104
  1392. data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +18 -17
  1393. data/src/core/tsi/alts/handshaker/alts_shared_resource.h +43 -44
  1394. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +53 -45
  1395. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +60 -60
  1396. data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +24 -24
  1397. data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +21 -20
  1398. data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +38 -38
  1399. data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +19 -19
  1400. data/src/core/tsi/alts/handshaker/transport_security_common_api.h +105 -104
  1401. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +45 -44
  1402. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +40 -41
  1403. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +38 -36
  1404. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +35 -36
  1405. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +67 -68
  1406. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +32 -31
  1407. data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +55 -56
  1408. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +54 -53
  1409. data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +141 -142
  1410. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +67 -58
  1411. data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +43 -44
  1412. data/src/core/tsi/fake_transport_security.cc +146 -110
  1413. data/src/core/tsi/fake_transport_security.h +36 -30
  1414. data/src/core/tsi/local_transport_security.cc +43 -38
  1415. data/src/core/tsi/local_transport_security.h +33 -33
  1416. data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +9 -4
  1417. data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +3 -3
  1418. data/src/core/tsi/ssl/session_cache/ssl_session.h +23 -21
  1419. data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +21 -19
  1420. data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +18 -17
  1421. data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +31 -22
  1422. data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +27 -20
  1423. data/src/core/tsi/ssl_transport_security.cc +356 -390
  1424. data/src/core/tsi/ssl_transport_security.h +210 -201
  1425. data/src/core/tsi/ssl_transport_security_utils.cc +250 -0
  1426. data/src/core/tsi/ssl_transport_security_utils.h +147 -0
  1427. data/src/core/tsi/ssl_types.h +27 -27
  1428. data/src/core/tsi/transport_security.cc +44 -32
  1429. data/src/core/tsi/transport_security.h +49 -48
  1430. data/src/core/tsi/transport_security_grpc.cc +23 -22
  1431. data/src/core/tsi/transport_security_grpc.h +44 -41
  1432. data/src/core/tsi/transport_security_interface.h +346 -332
  1433. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.clang +2 -0
  1434. data/src/ruby/ext/grpc/ext-export-truffleruby-with-ruby-abi-version.gcc +7 -0
  1435. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.clang +2 -0
  1436. data/src/ruby/ext/grpc/ext-export-with-ruby-abi-version.gcc +7 -0
  1437. data/src/ruby/ext/grpc/ext-export.gcc +1 -1
  1438. data/src/ruby/ext/grpc/extconf.rb +98 -20
  1439. data/src/ruby/ext/grpc/rb_call.c +1 -0
  1440. data/src/ruby/ext/grpc/rb_channel.c +1 -0
  1441. data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
  1442. data/src/ruby/ext/grpc/rb_compression_options.c +1 -1
  1443. data/src/ruby/ext/grpc/rb_grpc.c +1 -0
  1444. data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +38 -38
  1445. data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +60 -60
  1446. data/src/ruby/ext/grpc/rb_loader.c +6 -2
  1447. data/src/ruby/lib/grpc/errors.rb +1 -1
  1448. data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
  1449. data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
  1450. data/src/ruby/lib/grpc/grpc.rb +1 -1
  1451. data/src/ruby/lib/grpc/version.rb +1 -1
  1452. data/src/ruby/pb/generate_proto_ruby.sh +1 -6
  1453. data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
  1454. data/src/ruby/pb/test/client.rb +769 -0
  1455. data/src/ruby/pb/test/server.rb +252 -0
  1456. data/src/ruby/pb/test/xds_client.rb +415 -0
  1457. data/src/ruby/spec/channel_spec.rb +5 -43
  1458. data/src/ruby/spec/client_server_spec.rb +20 -8
  1459. data/src/ruby/spec/generic/active_call_spec.rb +12 -3
  1460. data/src/ruby/spec/generic/client_stub_spec.rb +23 -23
  1461. data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
  1462. data/src/ruby/spec/user_agent_spec.rb +1 -1
  1463. data/third_party/abseil-cpp/absl/algorithm/container.h +57 -58
  1464. data/third_party/abseil-cpp/absl/base/attributes.h +88 -41
  1465. data/third_party/abseil-cpp/absl/base/casts.h +61 -68
  1466. data/third_party/abseil-cpp/absl/base/config.h +221 -39
  1467. data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +12 -42
  1468. data/third_party/abseil-cpp/absl/base/internal/cycleclock.h +52 -2
  1469. data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  1470. data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +5 -4
  1471. data/third_party/abseil-cpp/absl/base/internal/endian.h +17 -62
  1472. data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +2 -0
  1473. data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +3 -3
  1474. data/third_party/abseil-cpp/absl/base/internal/invoke.h +54 -0
  1475. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +2 -2
  1476. data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +1 -1
  1477. data/third_party/abseil-cpp/absl/base/internal/prefetch.h +138 -0
  1478. data/third_party/abseil-cpp/absl/base/internal/raw_logging.cc +39 -28
  1479. data/third_party/abseil-cpp/absl/base/internal/raw_logging.h +36 -36
  1480. data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +6 -3
  1481. data/third_party/abseil-cpp/absl/base/internal/spinlock.h +10 -6
  1482. data/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc +2 -5
  1483. data/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc +4 -1
  1484. data/third_party/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  1485. data/third_party/abseil-cpp/absl/base/internal/strerror.h +39 -0
  1486. data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +14 -11
  1487. data/third_party/abseil-cpp/absl/base/internal/thread_annotations.h +9 -0
  1488. data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +2 -1
  1489. data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -0
  1490. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +6 -7
  1491. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +12 -40
  1492. data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  1493. data/third_party/abseil-cpp/absl/base/log_severity.cc +28 -0
  1494. data/third_party/abseil-cpp/absl/base/log_severity.h +51 -0
  1495. data/third_party/abseil-cpp/absl/base/macros.h +4 -21
  1496. data/third_party/abseil-cpp/absl/base/optimization.h +76 -16
  1497. data/third_party/abseil-cpp/absl/base/options.h +1 -7
  1498. data/third_party/abseil-cpp/absl/base/policy_checks.h +15 -13
  1499. data/third_party/abseil-cpp/absl/base/thread_annotations.h +2 -2
  1500. data/third_party/abseil-cpp/absl/cleanup/cleanup.h +140 -0
  1501. data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +100 -0
  1502. data/third_party/abseil-cpp/absl/container/fixed_array.h +9 -5
  1503. data/third_party/abseil-cpp/absl/container/flat_hash_map.h +11 -4
  1504. data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
  1505. data/third_party/abseil-cpp/absl/container/inlined_vector.h +84 -25
  1506. data/third_party/abseil-cpp/absl/container/internal/common.h +9 -8
  1507. data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +132 -0
  1508. data/third_party/abseil-cpp/absl/container/internal/container_memory.h +23 -29
  1509. data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +4 -55
  1510. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +116 -23
  1511. data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +40 -54
  1512. data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +165 -66
  1513. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +159 -4
  1514. data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1121 -470
  1515. data/third_party/abseil-cpp/absl/crc/crc32c.cc +99 -0
  1516. data/third_party/abseil-cpp/absl/crc/crc32c.h +183 -0
  1517. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc +256 -0
  1518. data/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h +57 -0
  1519. data/third_party/abseil-cpp/absl/crc/internal/crc.cc +468 -0
  1520. data/third_party/abseil-cpp/absl/crc/internal/crc.h +91 -0
  1521. data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +269 -0
  1522. data/third_party/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  1523. data/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  1524. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc +130 -0
  1525. data/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  1526. data/third_party/abseil-cpp/absl/crc/internal/crc_internal.h +179 -0
  1527. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h +119 -0
  1528. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +75 -0
  1529. data/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc +434 -0
  1530. data/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  1531. data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +725 -0
  1532. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +79 -0
  1533. data/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +180 -0
  1534. data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +45 -88
  1535. data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +67 -38
  1536. data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +1 -1
  1537. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +16 -13
  1538. data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +3 -2
  1539. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +19 -12
  1540. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +8 -3
  1541. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +2 -1
  1542. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +1 -1
  1543. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +8 -3
  1544. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +59 -102
  1545. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +5 -4
  1546. data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +41 -11
  1547. data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +18 -4
  1548. data/third_party/abseil-cpp/absl/debugging/symbolize.cc +6 -1
  1549. data/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc +3 -2
  1550. data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +164 -101
  1551. data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +7 -6
  1552. data/third_party/abseil-cpp/absl/functional/any_invocable.h +316 -0
  1553. data/third_party/abseil-cpp/absl/functional/bind_front.h +10 -1
  1554. data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -1
  1555. data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +878 -0
  1556. data/third_party/abseil-cpp/absl/hash/hash.h +82 -8
  1557. data/third_party/abseil-cpp/absl/hash/internal/city.cc +10 -10
  1558. data/third_party/abseil-cpp/absl/hash/internal/hash.h +235 -26
  1559. data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +3 -14
  1560. data/third_party/abseil-cpp/absl/memory/memory.h +26 -447
  1561. data/third_party/abseil-cpp/absl/meta/type_traits.h +104 -12
  1562. data/third_party/abseil-cpp/absl/numeric/bits.h +1 -1
  1563. data/third_party/abseil-cpp/absl/numeric/int128.cc +14 -10
  1564. data/third_party/abseil-cpp/absl/numeric/int128.h +2 -2
  1565. data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +33 -10
  1566. data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +4 -4
  1567. data/third_party/abseil-cpp/absl/random/distributions.h +3 -3
  1568. data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +3 -0
  1569. data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +4 -2
  1570. data/third_party/abseil-cpp/absl/random/internal/generate_real.h +2 -2
  1571. data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +59 -48
  1572. data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +3 -24
  1573. data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +9 -9
  1574. data/third_party/abseil-cpp/absl/random/internal/randen.h +5 -11
  1575. data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +6 -2
  1576. data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +48 -23
  1577. data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +24 -26
  1578. data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +2 -2
  1579. data/third_party/abseil-cpp/absl/random/internal/traits.h +53 -5
  1580. data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +5 -5
  1581. data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +33 -48
  1582. data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +9 -10
  1583. data/third_party/abseil-cpp/absl/random/poisson_distribution.h +7 -4
  1584. data/third_party/abseil-cpp/absl/random/random.h +6 -6
  1585. data/third_party/abseil-cpp/absl/random/seed_sequences.h +1 -0
  1586. data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +2 -2
  1587. data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
  1588. data/third_party/abseil-cpp/absl/random/zipf_distribution.h +4 -3
  1589. data/third_party/abseil-cpp/absl/status/internal/status_internal.h +18 -0
  1590. data/third_party/abseil-cpp/absl/status/status.cc +193 -14
  1591. data/third_party/abseil-cpp/absl/status/status.h +24 -14
  1592. data/third_party/abseil-cpp/absl/status/statusor.h +9 -3
  1593. data/third_party/abseil-cpp/absl/strings/ascii.cc +5 -5
  1594. data/third_party/abseil-cpp/absl/strings/ascii.h +4 -4
  1595. data/third_party/abseil-cpp/absl/strings/charconv.cc +534 -96
  1596. data/third_party/abseil-cpp/absl/strings/cord.cc +257 -924
  1597. data/third_party/abseil-cpp/absl/strings/cord.h +268 -156
  1598. data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +188 -0
  1599. data/third_party/abseil-cpp/absl/strings/cord_analysis.h +44 -0
  1600. data/third_party/abseil-cpp/absl/strings/cord_buffer.cc +30 -0
  1601. data/third_party/abseil-cpp/absl/strings/cord_buffer.h +575 -0
  1602. data/third_party/abseil-cpp/absl/strings/escaping.cc +73 -62
  1603. data/third_party/abseil-cpp/absl/strings/escaping.h +24 -19
  1604. data/third_party/abseil-cpp/absl/strings/internal/char_map.h +14 -12
  1605. data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +4 -4
  1606. data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +2 -2
  1607. data/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  1608. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +20 -32
  1609. data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +441 -150
  1610. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +157 -53
  1611. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +70 -73
  1612. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +8 -6
  1613. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +4 -2
  1614. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +3 -2
  1615. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +5 -4
  1616. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +7 -74
  1617. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  1618. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  1619. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +58 -17
  1620. data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +13 -11
  1621. data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +7 -15
  1622. data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +3 -3
  1623. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +19 -43
  1624. data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +7 -7
  1625. data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +5 -4
  1626. data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +4 -2
  1627. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +93 -0
  1628. data/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +34 -0
  1629. data/third_party/abseil-cpp/absl/strings/internal/escaping.cc +18 -15
  1630. data/third_party/abseil-cpp/absl/strings/internal/escaping.h +7 -9
  1631. data/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h +55 -0
  1632. data/third_party/abseil-cpp/absl/strings/internal/memutil.cc +9 -6
  1633. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc +14 -7
  1634. data/third_party/abseil-cpp/absl/strings/internal/ostringstream.h +35 -10
  1635. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +113 -46
  1636. data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +127 -30
  1637. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -2
  1638. data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +42 -10
  1639. data/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h +56 -289
  1640. data/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +351 -0
  1641. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
  1642. data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +9 -4
  1643. data/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +215 -181
  1644. data/third_party/abseil-cpp/absl/strings/internal/str_format/output.h +2 -1
  1645. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +10 -209
  1646. data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +14 -103
  1647. data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +9 -6
  1648. data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +2 -1
  1649. data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +10 -2
  1650. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  1651. data/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  1652. data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +9 -9
  1653. data/third_party/abseil-cpp/absl/strings/numbers.cc +42 -39
  1654. data/third_party/abseil-cpp/absl/strings/numbers.h +26 -23
  1655. data/third_party/abseil-cpp/absl/strings/str_cat.cc +9 -6
  1656. data/third_party/abseil-cpp/absl/strings/str_cat.h +70 -16
  1657. data/third_party/abseil-cpp/absl/strings/str_format.h +71 -9
  1658. data/third_party/abseil-cpp/absl/strings/str_join.h +9 -15
  1659. data/third_party/abseil-cpp/absl/strings/str_split.h +1 -2
  1660. data/third_party/abseil-cpp/absl/strings/string_view.cc +8 -19
  1661. data/third_party/abseil-cpp/absl/strings/string_view.h +6 -12
  1662. data/third_party/abseil-cpp/absl/strings/strip.h +8 -6
  1663. data/third_party/abseil-cpp/absl/strings/substitute.cc +8 -6
  1664. data/third_party/abseil-cpp/absl/strings/substitute.h +55 -21
  1665. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +9 -6
  1666. data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +0 -4
  1667. data/third_party/abseil-cpp/absl/synchronization/internal/futex.h +20 -17
  1668. data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +37 -31
  1669. data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +22 -8
  1670. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +0 -4
  1671. data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +1 -6
  1672. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +0 -25
  1673. data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +10 -4
  1674. data/third_party/abseil-cpp/absl/synchronization/mutex.cc +172 -88
  1675. data/third_party/abseil-cpp/absl/synchronization/mutex.h +102 -55
  1676. data/third_party/abseil-cpp/absl/synchronization/notification.cc +0 -1
  1677. data/third_party/abseil-cpp/absl/synchronization/notification.h +3 -3
  1678. data/third_party/abseil-cpp/absl/time/civil_time.cc +26 -0
  1679. data/third_party/abseil-cpp/absl/time/civil_time.h +25 -0
  1680. data/third_party/abseil-cpp/absl/time/clock.cc +17 -11
  1681. data/third_party/abseil-cpp/absl/time/duration.cc +12 -11
  1682. data/third_party/abseil-cpp/absl/time/format.cc +2 -1
  1683. data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +11 -7
  1684. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1 -1
  1685. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +26 -5
  1686. data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +7 -6
  1687. data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +36 -35
  1688. data/third_party/abseil-cpp/absl/time/time.cc +2 -2
  1689. data/third_party/abseil-cpp/absl/time/time.h +268 -169
  1690. data/third_party/abseil-cpp/absl/types/internal/optional.h +8 -0
  1691. data/third_party/abseil-cpp/absl/types/internal/span.h +30 -19
  1692. data/third_party/abseil-cpp/absl/types/internal/variant.h +28 -40
  1693. data/third_party/abseil-cpp/absl/types/optional.h +17 -14
  1694. data/third_party/abseil-cpp/absl/types/span.h +31 -8
  1695. data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c +1 -1
  1696. data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +1 -2
  1697. data/third_party/re2/re2/bitstate.cc +3 -3
  1698. data/third_party/re2/re2/dfa.cc +13 -13
  1699. data/third_party/re2/re2/nfa.cc +4 -4
  1700. data/third_party/re2/re2/onepass.cc +2 -2
  1701. data/third_party/re2/re2/prefilter_tree.cc +27 -59
  1702. data/third_party/re2/re2/prefilter_tree.h +3 -2
  1703. data/third_party/re2/re2/prog.cc +11 -2
  1704. data/third_party/re2/re2/prog.h +17 -5
  1705. data/third_party/re2/re2/re2.cc +6 -11
  1706. data/third_party/re2/re2/re2.h +1 -1
  1707. data/third_party/re2/re2/regexp.cc +1 -2
  1708. data/third_party/re2/re2/stringpiece.h +10 -7
  1709. data/third_party/re2/re2/unicode_casefold.cc +25 -11
  1710. data/third_party/re2/re2/unicode_groups.cc +319 -151
  1711. data/third_party/re2/re2/walker-inl.h +3 -2
  1712. data/third_party/re2/util/mutex.h +4 -4
  1713. data/third_party/upb/upb/arena.c +277 -0
  1714. data/third_party/upb/upb/arena.h +225 -0
  1715. data/third_party/upb/upb/array.c +114 -0
  1716. data/third_party/upb/upb/array.h +83 -0
  1717. data/third_party/upb/upb/collections.h +36 -0
  1718. data/third_party/upb/upb/decode.c +188 -76
  1719. data/third_party/upb/upb/decode.h +1 -0
  1720. data/third_party/upb/upb/decode_fast.c +1 -1
  1721. data/third_party/upb/upb/def.c +128 -57
  1722. data/third_party/upb/upb/def.h +20 -4
  1723. data/third_party/upb/upb/def.hpp +7 -4
  1724. data/third_party/upb/upb/encode.c +43 -28
  1725. data/third_party/upb/upb/encode.h +16 -6
  1726. data/third_party/upb/upb/extension_registry.c +93 -0
  1727. data/third_party/upb/upb/extension_registry.h +84 -0
  1728. data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
  1729. data/third_party/upb/upb/internal/table.h +385 -0
  1730. data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
  1731. data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
  1732. data/third_party/upb/upb/json_decode.c +1512 -0
  1733. data/third_party/upb/upb/json_decode.h +47 -0
  1734. data/third_party/upb/upb/json_encode.c +780 -0
  1735. data/third_party/upb/upb/json_encode.h +65 -0
  1736. data/third_party/upb/upb/map.c +108 -0
  1737. data/third_party/upb/upb/map.h +117 -0
  1738. data/third_party/upb/upb/message_value.h +66 -0
  1739. data/third_party/upb/upb/mini_table.c +1147 -0
  1740. data/third_party/upb/upb/mini_table.h +189 -0
  1741. data/third_party/upb/upb/mini_table.hpp +112 -0
  1742. data/third_party/upb/upb/msg.c +6 -68
  1743. data/third_party/upb/upb/msg.h +2 -46
  1744. data/third_party/upb/upb/msg_internal.h +77 -58
  1745. data/third_party/upb/upb/port_def.inc +10 -1
  1746. data/third_party/upb/upb/port_undef.inc +2 -0
  1747. data/third_party/upb/upb/reflection.c +2 -159
  1748. data/third_party/upb/upb/reflection.h +2 -112
  1749. data/third_party/upb/upb/status.c +86 -0
  1750. data/third_party/upb/upb/status.h +66 -0
  1751. data/third_party/upb/upb/table.c +12 -8
  1752. data/third_party/upb/upb/table_internal.h +3 -350
  1753. data/third_party/upb/upb/text_encode.c +3 -2
  1754. data/third_party/upb/upb/upb.c +4 -290
  1755. data/third_party/upb/upb/upb.h +8 -167
  1756. data/third_party/zlib/compress.c +3 -3
  1757. data/third_party/zlib/crc32.c +975 -292
  1758. data/third_party/zlib/crc32.h +9441 -436
  1759. data/third_party/zlib/deflate.c +183 -129
  1760. data/third_party/zlib/deflate.h +12 -15
  1761. data/third_party/zlib/gzguts.h +3 -2
  1762. data/third_party/zlib/gzlib.c +6 -4
  1763. data/third_party/zlib/gzread.c +8 -12
  1764. data/third_party/zlib/gzwrite.c +26 -14
  1765. data/third_party/zlib/infback.c +12 -8
  1766. data/third_party/zlib/inffast.c +14 -14
  1767. data/third_party/zlib/inflate.c +44 -10
  1768. data/third_party/zlib/inflate.h +3 -2
  1769. data/third_party/zlib/inftrees.c +3 -3
  1770. data/third_party/zlib/inftrees.h +1 -1
  1771. data/third_party/zlib/trees.c +85 -107
  1772. data/third_party/zlib/uncompr.c +2 -2
  1773. data/third_party/zlib/zconf.h +16 -3
  1774. data/third_party/zlib/zlib.h +129 -106
  1775. data/third_party/zlib/zutil.c +11 -9
  1776. data/third_party/zlib/zutil.h +13 -9
  1777. metadata +424 -135
  1778. data/include/grpc/impl/codegen/gpr_slice.h +0 -71
  1779. data/src/core/ext/filters/client_channel/http_connect_handshaker.h +0 -42
  1780. data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -48
  1781. data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -185
  1782. data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -65
  1783. data/src/core/ext/filters/client_channel/proxy_mapper.h +0 -54
  1784. data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -89
  1785. data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -50
  1786. data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +0 -186
  1787. data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -201
  1788. data/src/core/ext/filters/fault_injection/service_config_parser.cc +0 -179
  1789. data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +0 -456
  1790. data/src/core/ext/filters/http/message_compress/message_compress_filter.h +0 -53
  1791. data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -386
  1792. data/src/core/ext/filters/max_age/max_age_filter.cc +0 -566
  1793. data/src/core/ext/filters/server_config_selector/server_config_selector.cc +0 -67
  1794. data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
  1795. data/src/core/ext/xds/certificate_provider_registry.h +0 -57
  1796. data/src/core/lib/channel/handshaker_factory.h +0 -50
  1797. data/src/core/lib/channel/handshaker_registry.cc +0 -50
  1798. data/src/core/lib/channel/handshaker_registry.h +0 -71
  1799. data/src/core/lib/event_engine/sockaddr.cc +0 -40
  1800. data/src/core/lib/event_engine/sockaddr.h +0 -44
  1801. data/src/core/lib/gpr/env.h +0 -40
  1802. data/src/core/lib/gpr/env_linux.cc +0 -75
  1803. data/src/core/lib/gpr/env_posix.cc +0 -46
  1804. data/src/core/lib/gpr/env_windows.cc +0 -74
  1805. data/src/core/lib/gpr/murmur_hash.cc +0 -82
  1806. data/src/core/lib/gpr/murmur_hash.h +0 -29
  1807. data/src/core/lib/gpr/string_windows.h +0 -32
  1808. data/src/core/lib/gpr/tls.h +0 -157
  1809. data/src/core/lib/gprpp/capture.h +0 -76
  1810. data/src/core/lib/iomgr/endpoint_pair_event_engine.cc +0 -32
  1811. data/src/core/lib/iomgr/error_internal.h +0 -66
  1812. data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1657
  1813. data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
  1814. data/src/core/lib/iomgr/event_engine/endpoint.cc +0 -172
  1815. data/src/core/lib/iomgr/event_engine/endpoint.h +0 -52
  1816. data/src/core/lib/iomgr/event_engine/iomgr.cc +0 -85
  1817. data/src/core/lib/iomgr/event_engine/pollset.cc +0 -87
  1818. data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +0 -47
  1819. data/src/core/lib/iomgr/event_engine/resolver.cc +0 -133
  1820. data/src/core/lib/iomgr/event_engine/resolver.h +0 -56
  1821. data/src/core/lib/iomgr/event_engine/tcp.cc +0 -296
  1822. data/src/core/lib/iomgr/event_engine/timer.cc +0 -62
  1823. data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
  1824. data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
  1825. data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
  1826. data/src/core/lib/iomgr/executor/threadpool.h +0 -150
  1827. data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
  1828. data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
  1829. data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
  1830. data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
  1831. data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
  1832. data/src/core/lib/profiling/basic_timers.cc +0 -295
  1833. data/src/core/lib/profiling/stap_timers.cc +0 -50
  1834. data/src/core/lib/profiling/timers.h +0 -94
  1835. data/src/core/lib/security/security_connector/load_system_roots_linux.h +0 -46
  1836. data/src/core/lib/slice/slice_api.cc +0 -39
  1837. data/src/core/lib/slice/slice_refcount_base.h +0 -61
  1838. data/src/core/lib/slice/slice_split.cc +0 -100
  1839. data/src/core/lib/slice/slice_split.h +0 -40
  1840. data/src/core/lib/transport/byte_stream.cc +0 -162
  1841. data/src/core/lib/transport/byte_stream.h +0 -166
  1842. data/third_party/abseil-cpp/absl/container/internal/have_sse.h +0 -50
@@ -15,6 +15,7 @@ static const URange16 C_range16[] = {
15
15
  { 1564, 1564 },
16
16
  { 1757, 1757 },
17
17
  { 1807, 1807 },
18
+ { 2192, 2193 },
18
19
  { 2274, 2274 },
19
20
  { 6158, 6158 },
20
21
  { 8203, 8207 },
@@ -46,6 +47,7 @@ static const URange16 Cf_range16[] = {
46
47
  { 1564, 1564 },
47
48
  { 1757, 1757 },
48
49
  { 1807, 1807 },
50
+ { 2192, 2193 },
49
51
  { 2274, 2274 },
50
52
  { 6158, 6158 },
51
53
  { 8203, 8207 },
@@ -124,8 +126,9 @@ static const URange16 L_range16[] = {
124
126
  { 2088, 2088 },
125
127
  { 2112, 2136 },
126
128
  { 2144, 2154 },
127
- { 2208, 2228 },
128
- { 2230, 2247 },
129
+ { 2160, 2183 },
130
+ { 2185, 2190 },
131
+ { 2208, 2249 },
129
132
  { 2308, 2361 },
130
133
  { 2365, 2365 },
131
134
  { 2384, 2384 },
@@ -190,6 +193,7 @@ static const URange16 L_range16[] = {
190
193
  { 3114, 3129 },
191
194
  { 3133, 3133 },
192
195
  { 3160, 3162 },
196
+ { 3165, 3165 },
193
197
  { 3168, 3169 },
194
198
  { 3200, 3200 },
195
199
  { 3205, 3212 },
@@ -198,7 +202,7 @@ static const URange16 L_range16[] = {
198
202
  { 3242, 3251 },
199
203
  { 3253, 3257 },
200
204
  { 3261, 3261 },
201
- { 3294, 3294 },
205
+ { 3293, 3294 },
202
206
  { 3296, 3297 },
203
207
  { 3313, 3314 },
204
208
  { 3332, 3340 },
@@ -269,9 +273,8 @@ static const URange16 L_range16[] = {
269
273
  { 5761, 5786 },
270
274
  { 5792, 5866 },
271
275
  { 5873, 5880 },
272
- { 5888, 5900 },
273
- { 5902, 5905 },
274
- { 5920, 5937 },
276
+ { 5888, 5905 },
277
+ { 5919, 5937 },
275
278
  { 5952, 5969 },
276
279
  { 5984, 5996 },
277
280
  { 5998, 6000 },
@@ -292,7 +295,7 @@ static const URange16 L_range16[] = {
292
295
  { 6688, 6740 },
293
296
  { 6823, 6823 },
294
297
  { 6917, 6963 },
295
- { 6981, 6987 },
298
+ { 6981, 6988 },
296
299
  { 7043, 7072 },
297
300
  { 7086, 7087 },
298
301
  { 7098, 7141 },
@@ -343,9 +346,7 @@ static const URange16 L_range16[] = {
343
346
  { 8517, 8521 },
344
347
  { 8526, 8526 },
345
348
  { 8579, 8580 },
346
- { 11264, 11310 },
347
- { 11312, 11358 },
348
- { 11360, 11492 },
349
+ { 11264, 11492 },
349
350
  { 11499, 11502 },
350
351
  { 11506, 11507 },
351
352
  { 11520, 11557 },
@@ -375,8 +376,7 @@ static const URange16 L_range16[] = {
375
376
  { 12704, 12735 },
376
377
  { 12784, 12799 },
377
378
  { 13312, 19903 },
378
- { 19968, 40956 },
379
- { 40960, 42124 },
379
+ { 19968, 42124 },
380
380
  { 42192, 42237 },
381
381
  { 42240, 42508 },
382
382
  { 42512, 42527 },
@@ -386,9 +386,11 @@ static const URange16 L_range16[] = {
386
386
  { 42656, 42725 },
387
387
  { 42775, 42783 },
388
388
  { 42786, 42888 },
389
- { 42891, 42943 },
390
- { 42946, 42954 },
391
- { 42997, 43009 },
389
+ { 42891, 42954 },
390
+ { 42960, 42961 },
391
+ { 42963, 42963 },
392
+ { 42965, 42969 },
393
+ { 42994, 43009 },
392
394
  { 43011, 43013 },
393
395
  { 43015, 43018 },
394
396
  { 43020, 43042 },
@@ -478,9 +480,20 @@ static const URange32 L_range32[] = {
478
480
  { 66776, 66811 },
479
481
  { 66816, 66855 },
480
482
  { 66864, 66915 },
483
+ { 66928, 66938 },
484
+ { 66940, 66954 },
485
+ { 66956, 66962 },
486
+ { 66964, 66965 },
487
+ { 66967, 66977 },
488
+ { 66979, 66993 },
489
+ { 66995, 67001 },
490
+ { 67003, 67004 },
481
491
  { 67072, 67382 },
482
492
  { 67392, 67413 },
483
493
  { 67424, 67431 },
494
+ { 67456, 67461 },
495
+ { 67463, 67504 },
496
+ { 67506, 67514 },
484
497
  { 67584, 67589 },
485
498
  { 67592, 67592 },
486
499
  { 67594, 67637 },
@@ -516,9 +529,12 @@ static const URange32 L_range32[] = {
516
529
  { 69376, 69404 },
517
530
  { 69415, 69415 },
518
531
  { 69424, 69445 },
532
+ { 69488, 69505 },
519
533
  { 69552, 69572 },
520
534
  { 69600, 69622 },
521
535
  { 69635, 69687 },
536
+ { 69745, 69746 },
537
+ { 69749, 69749 },
522
538
  { 69763, 69807 },
523
539
  { 69840, 69864 },
524
540
  { 69891, 69926 },
@@ -560,6 +576,7 @@ static const URange32 L_range32[] = {
560
576
  { 71296, 71338 },
561
577
  { 71352, 71352 },
562
578
  { 71424, 71450 },
579
+ { 71488, 71494 },
563
580
  { 71680, 71723 },
564
581
  { 71840, 71903 },
565
582
  { 71935, 71942 },
@@ -579,7 +596,7 @@ static const URange32 L_range32[] = {
579
596
  { 72272, 72272 },
580
597
  { 72284, 72329 },
581
598
  { 72349, 72349 },
582
- { 72384, 72440 },
599
+ { 72368, 72440 },
583
600
  { 72704, 72712 },
584
601
  { 72714, 72750 },
585
602
  { 72768, 72768 },
@@ -596,10 +613,12 @@ static const URange32 L_range32[] = {
596
613
  { 73648, 73648 },
597
614
  { 73728, 74649 },
598
615
  { 74880, 75075 },
616
+ { 77712, 77808 },
599
617
  { 77824, 78894 },
600
618
  { 82944, 83526 },
601
619
  { 92160, 92728 },
602
620
  { 92736, 92766 },
621
+ { 92784, 92862 },
603
622
  { 92880, 92909 },
604
623
  { 92928, 92975 },
605
624
  { 92992, 92995 },
@@ -614,7 +633,10 @@ static const URange32 L_range32[] = {
614
633
  { 94208, 100343 },
615
634
  { 100352, 101589 },
616
635
  { 101632, 101640 },
617
- { 110592, 110878 },
636
+ { 110576, 110579 },
637
+ { 110581, 110587 },
638
+ { 110589, 110590 },
639
+ { 110592, 110882 },
618
640
  { 110928, 110930 },
619
641
  { 110948, 110951 },
620
642
  { 110960, 111355 },
@@ -652,10 +674,16 @@ static const URange32 L_range32[] = {
652
674
  { 120714, 120744 },
653
675
  { 120746, 120770 },
654
676
  { 120772, 120779 },
677
+ { 122624, 122654 },
655
678
  { 123136, 123180 },
656
679
  { 123191, 123197 },
657
680
  { 123214, 123214 },
681
+ { 123536, 123565 },
658
682
  { 123584, 123627 },
683
+ { 124896, 124902 },
684
+ { 124904, 124907 },
685
+ { 124909, 124910 },
686
+ { 124912, 124926 },
659
687
  { 124928, 125124 },
660
688
  { 125184, 125251 },
661
689
  { 125259, 125259 },
@@ -692,8 +720,8 @@ static const URange32 L_range32[] = {
692
720
  { 126625, 126627 },
693
721
  { 126629, 126633 },
694
722
  { 126635, 126651 },
695
- { 131072, 173789 },
696
- { 173824, 177972 },
723
+ { 131072, 173791 },
724
+ { 173824, 177976 },
697
725
  { 177984, 178205 },
698
726
  { 178208, 183969 },
699
727
  { 183984, 191456 },
@@ -1132,7 +1160,7 @@ static const URange16 Ll_range16[] = {
1132
1160
  { 8518, 8521 },
1133
1161
  { 8526, 8526 },
1134
1162
  { 8580, 8580 },
1135
- { 11312, 11358 },
1163
+ { 11312, 11359 },
1136
1164
  { 11361, 11361 },
1137
1165
  { 11365, 11366 },
1138
1166
  { 11368, 11368 },
@@ -1301,9 +1329,15 @@ static const URange16 Ll_range16[] = {
1301
1329
  { 42939, 42939 },
1302
1330
  { 42941, 42941 },
1303
1331
  { 42943, 42943 },
1332
+ { 42945, 42945 },
1304
1333
  { 42947, 42947 },
1305
1334
  { 42952, 42952 },
1306
1335
  { 42954, 42954 },
1336
+ { 42961, 42961 },
1337
+ { 42963, 42963 },
1338
+ { 42965, 42965 },
1339
+ { 42967, 42967 },
1340
+ { 42969, 42969 },
1307
1341
  { 42998, 42998 },
1308
1342
  { 43002, 43002 },
1309
1343
  { 43824, 43866 },
@@ -1316,6 +1350,10 @@ static const URange16 Ll_range16[] = {
1316
1350
  static const URange32 Ll_range32[] = {
1317
1351
  { 66600, 66639 },
1318
1352
  { 66776, 66811 },
1353
+ { 66967, 66977 },
1354
+ { 66979, 66993 },
1355
+ { 66995, 67001 },
1356
+ { 67003, 67004 },
1319
1357
  { 68800, 68850 },
1320
1358
  { 71872, 71903 },
1321
1359
  { 93792, 93823 },
@@ -1347,6 +1385,8 @@ static const URange32 Ll_range32[] = {
1347
1385
  { 120746, 120770 },
1348
1386
  { 120772, 120777 },
1349
1387
  { 120779, 120779 },
1388
+ { 122624, 122633 },
1389
+ { 122635, 122654 },
1350
1390
  { 125218, 125251 },
1351
1391
  };
1352
1392
  static const URange16 Lm_range16[] = {
@@ -1365,6 +1405,7 @@ static const URange16 Lm_range16[] = {
1365
1405
  { 2074, 2074 },
1366
1406
  { 2084, 2084 },
1367
1407
  { 2088, 2088 },
1408
+ { 2249, 2249 },
1368
1409
  { 2417, 2417 },
1369
1410
  { 3654, 3654 },
1370
1411
  { 3782, 3782 },
@@ -1395,6 +1436,7 @@ static const URange16 Lm_range16[] = {
1395
1436
  { 42775, 42783 },
1396
1437
  { 42864, 42864 },
1397
1438
  { 42888, 42888 },
1439
+ { 42994, 42996 },
1398
1440
  { 43000, 43001 },
1399
1441
  { 43471, 43471 },
1400
1442
  { 43494, 43494 },
@@ -1407,10 +1449,16 @@ static const URange16 Lm_range16[] = {
1407
1449
  { 65438, 65439 },
1408
1450
  };
1409
1451
  static const URange32 Lm_range32[] = {
1452
+ { 67456, 67461 },
1453
+ { 67463, 67504 },
1454
+ { 67506, 67514 },
1410
1455
  { 92992, 92995 },
1411
1456
  { 94099, 94111 },
1412
1457
  { 94176, 94177 },
1413
1458
  { 94179, 94179 },
1459
+ { 110576, 110579 },
1460
+ { 110581, 110587 },
1461
+ { 110589, 110590 },
1414
1462
  { 123191, 123197 },
1415
1463
  { 125259, 125259 },
1416
1464
  };
@@ -1438,8 +1486,9 @@ static const URange16 Lo_range16[] = {
1438
1486
  { 2048, 2069 },
1439
1487
  { 2112, 2136 },
1440
1488
  { 2144, 2154 },
1441
- { 2208, 2228 },
1442
- { 2230, 2247 },
1489
+ { 2160, 2183 },
1490
+ { 2185, 2190 },
1491
+ { 2208, 2248 },
1443
1492
  { 2308, 2361 },
1444
1493
  { 2365, 2365 },
1445
1494
  { 2384, 2384 },
@@ -1504,6 +1553,7 @@ static const URange16 Lo_range16[] = {
1504
1553
  { 3114, 3129 },
1505
1554
  { 3133, 3133 },
1506
1555
  { 3160, 3162 },
1556
+ { 3165, 3165 },
1507
1557
  { 3168, 3169 },
1508
1558
  { 3200, 3200 },
1509
1559
  { 3205, 3212 },
@@ -1512,7 +1562,7 @@ static const URange16 Lo_range16[] = {
1512
1562
  { 3242, 3251 },
1513
1563
  { 3253, 3257 },
1514
1564
  { 3261, 3261 },
1515
- { 3294, 3294 },
1565
+ { 3293, 3294 },
1516
1566
  { 3296, 3297 },
1517
1567
  { 3313, 3314 },
1518
1568
  { 3332, 3340 },
@@ -1576,9 +1626,8 @@ static const URange16 Lo_range16[] = {
1576
1626
  { 5761, 5786 },
1577
1627
  { 5792, 5866 },
1578
1628
  { 5873, 5880 },
1579
- { 5888, 5900 },
1580
- { 5902, 5905 },
1581
- { 5920, 5937 },
1629
+ { 5888, 5905 },
1630
+ { 5919, 5937 },
1582
1631
  { 5952, 5969 },
1583
1632
  { 5984, 5996 },
1584
1633
  { 5998, 6000 },
@@ -1598,7 +1647,7 @@ static const URange16 Lo_range16[] = {
1598
1647
  { 6656, 6678 },
1599
1648
  { 6688, 6740 },
1600
1649
  { 6917, 6963 },
1601
- { 6981, 6987 },
1650
+ { 6981, 6988 },
1602
1651
  { 7043, 7072 },
1603
1652
  { 7086, 7087 },
1604
1653
  { 7098, 7141 },
@@ -1631,8 +1680,7 @@ static const URange16 Lo_range16[] = {
1631
1680
  { 12704, 12735 },
1632
1681
  { 12784, 12799 },
1633
1682
  { 13312, 19903 },
1634
- { 19968, 40956 },
1635
- { 40960, 40980 },
1683
+ { 19968, 40980 },
1636
1684
  { 40982, 42124 },
1637
1685
  { 42192, 42231 },
1638
1686
  { 42240, 42507 },
@@ -1762,9 +1810,12 @@ static const URange32 Lo_range32[] = {
1762
1810
  { 69376, 69404 },
1763
1811
  { 69415, 69415 },
1764
1812
  { 69424, 69445 },
1813
+ { 69488, 69505 },
1765
1814
  { 69552, 69572 },
1766
1815
  { 69600, 69622 },
1767
1816
  { 69635, 69687 },
1817
+ { 69745, 69746 },
1818
+ { 69749, 69749 },
1768
1819
  { 69763, 69807 },
1769
1820
  { 69840, 69864 },
1770
1821
  { 69891, 69926 },
@@ -1806,6 +1857,7 @@ static const URange32 Lo_range32[] = {
1806
1857
  { 71296, 71338 },
1807
1858
  { 71352, 71352 },
1808
1859
  { 71424, 71450 },
1860
+ { 71488, 71494 },
1809
1861
  { 71680, 71723 },
1810
1862
  { 71935, 71942 },
1811
1863
  { 71945, 71945 },
@@ -1824,7 +1876,7 @@ static const URange32 Lo_range32[] = {
1824
1876
  { 72272, 72272 },
1825
1877
  { 72284, 72329 },
1826
1878
  { 72349, 72349 },
1827
- { 72384, 72440 },
1879
+ { 72368, 72440 },
1828
1880
  { 72704, 72712 },
1829
1881
  { 72714, 72750 },
1830
1882
  { 72768, 72768 },
@@ -1841,10 +1893,12 @@ static const URange32 Lo_range32[] = {
1841
1893
  { 73648, 73648 },
1842
1894
  { 73728, 74649 },
1843
1895
  { 74880, 75075 },
1896
+ { 77712, 77808 },
1844
1897
  { 77824, 78894 },
1845
1898
  { 82944, 83526 },
1846
1899
  { 92160, 92728 },
1847
1900
  { 92736, 92766 },
1901
+ { 92784, 92862 },
1848
1902
  { 92880, 92909 },
1849
1903
  { 92928, 92975 },
1850
1904
  { 93027, 93047 },
@@ -1854,7 +1908,7 @@ static const URange32 Lo_range32[] = {
1854
1908
  { 94208, 100343 },
1855
1909
  { 100352, 101589 },
1856
1910
  { 101632, 101640 },
1857
- { 110592, 110878 },
1911
+ { 110592, 110882 },
1858
1912
  { 110928, 110930 },
1859
1913
  { 110948, 110951 },
1860
1914
  { 110960, 111355 },
@@ -1862,9 +1916,15 @@ static const URange32 Lo_range32[] = {
1862
1916
  { 113776, 113788 },
1863
1917
  { 113792, 113800 },
1864
1918
  { 113808, 113817 },
1919
+ { 122634, 122634 },
1865
1920
  { 123136, 123180 },
1866
1921
  { 123214, 123214 },
1922
+ { 123536, 123565 },
1867
1923
  { 123584, 123627 },
1924
+ { 124896, 124902 },
1925
+ { 124904, 124907 },
1926
+ { 124909, 124910 },
1927
+ { 124912, 124926 },
1868
1928
  { 124928, 125124 },
1869
1929
  { 126464, 126467 },
1870
1930
  { 126469, 126495 },
@@ -1899,8 +1959,8 @@ static const URange32 Lo_range32[] = {
1899
1959
  { 126625, 126627 },
1900
1960
  { 126629, 126633 },
1901
1961
  { 126635, 126651 },
1902
- { 131072, 173789 },
1903
- { 173824, 177972 },
1962
+ { 131072, 173791 },
1963
+ { 173824, 177976 },
1904
1964
  { 177984, 178205 },
1905
1965
  { 178208, 183969 },
1906
1966
  { 183984, 191456 },
@@ -2351,7 +2411,7 @@ static const URange16 Lu_range16[] = {
2351
2411
  { 8510, 8511 },
2352
2412
  { 8517, 8517 },
2353
2413
  { 8579, 8579 },
2354
- { 11264, 11310 },
2414
+ { 11264, 11311 },
2355
2415
  { 11360, 11360 },
2356
2416
  { 11362, 11364 },
2357
2417
  { 11367, 11367 },
@@ -2516,15 +2576,23 @@ static const URange16 Lu_range16[] = {
2516
2576
  { 42938, 42938 },
2517
2577
  { 42940, 42940 },
2518
2578
  { 42942, 42942 },
2579
+ { 42944, 42944 },
2519
2580
  { 42946, 42946 },
2520
2581
  { 42948, 42951 },
2521
2582
  { 42953, 42953 },
2583
+ { 42960, 42960 },
2584
+ { 42966, 42966 },
2585
+ { 42968, 42968 },
2522
2586
  { 42997, 42997 },
2523
2587
  { 65313, 65338 },
2524
2588
  };
2525
2589
  static const URange32 Lu_range32[] = {
2526
2590
  { 66560, 66599 },
2527
2591
  { 66736, 66771 },
2592
+ { 66928, 66938 },
2593
+ { 66940, 66954 },
2594
+ { 66956, 66962 },
2595
+ { 66964, 66965 },
2528
2596
  { 68736, 68786 },
2529
2597
  { 71840, 71871 },
2530
2598
  { 93760, 93791 },
@@ -2586,7 +2654,8 @@ static const URange16 M_range16[] = {
2586
2654
  { 2085, 2087 },
2587
2655
  { 2089, 2093 },
2588
2656
  { 2137, 2139 },
2589
- { 2259, 2273 },
2657
+ { 2200, 2207 },
2658
+ { 2250, 2273 },
2590
2659
  { 2275, 2307 },
2591
2660
  { 2362, 2364 },
2592
2661
  { 2366, 2383 },
@@ -2628,6 +2697,7 @@ static const URange16 M_range16[] = {
2628
2697
  { 3018, 3021 },
2629
2698
  { 3031, 3031 },
2630
2699
  { 3072, 3076 },
2700
+ { 3132, 3132 },
2631
2701
  { 3134, 3140 },
2632
2702
  { 3142, 3144 },
2633
2703
  { 3146, 3149 },
@@ -2679,13 +2749,14 @@ static const URange16 M_range16[] = {
2679
2749
  { 4239, 4239 },
2680
2750
  { 4250, 4253 },
2681
2751
  { 4957, 4959 },
2682
- { 5906, 5908 },
2752
+ { 5906, 5909 },
2683
2753
  { 5938, 5940 },
2684
2754
  { 5970, 5971 },
2685
2755
  { 6002, 6003 },
2686
2756
  { 6068, 6099 },
2687
2757
  { 6109, 6109 },
2688
2758
  { 6155, 6157 },
2759
+ { 6159, 6159 },
2689
2760
  { 6277, 6278 },
2690
2761
  { 6313, 6313 },
2691
2762
  { 6432, 6443 },
@@ -2694,7 +2765,7 @@ static const URange16 M_range16[] = {
2694
2765
  { 6741, 6750 },
2695
2766
  { 6752, 6780 },
2696
2767
  { 6783, 6783 },
2697
- { 6832, 6848 },
2768
+ { 6832, 6862 },
2698
2769
  { 6912, 6916 },
2699
2770
  { 6964, 6980 },
2700
2771
  { 7019, 7027 },
@@ -2707,8 +2778,7 @@ static const URange16 M_range16[] = {
2707
2778
  { 7405, 7405 },
2708
2779
  { 7412, 7412 },
2709
2780
  { 7415, 7417 },
2710
- { 7616, 7673 },
2711
- { 7675, 7679 },
2781
+ { 7616, 7679 },
2712
2782
  { 8400, 8432 },
2713
2783
  { 11503, 11505 },
2714
2784
  { 11647, 11647 },
@@ -2763,10 +2833,14 @@ static const URange32 M_range32[] = {
2763
2833
  { 68900, 68903 },
2764
2834
  { 69291, 69292 },
2765
2835
  { 69446, 69456 },
2836
+ { 69506, 69509 },
2766
2837
  { 69632, 69634 },
2767
2838
  { 69688, 69702 },
2839
+ { 69744, 69744 },
2840
+ { 69747, 69748 },
2768
2841
  { 69759, 69762 },
2769
2842
  { 69808, 69818 },
2843
+ { 69826, 69826 },
2770
2844
  { 69888, 69890 },
2771
2845
  { 69927, 69940 },
2772
2846
  { 69957, 69958 },
@@ -2832,6 +2906,8 @@ static const URange32 M_range32[] = {
2832
2906
  { 94180, 94180 },
2833
2907
  { 94192, 94193 },
2834
2908
  { 113821, 113822 },
2909
+ { 118528, 118573 },
2910
+ { 118576, 118598 },
2835
2911
  { 119141, 119145 },
2836
2912
  { 119149, 119154 },
2837
2913
  { 119163, 119170 },
@@ -2850,6 +2926,7 @@ static const URange32 M_range32[] = {
2850
2926
  { 122915, 122916 },
2851
2927
  { 122918, 122922 },
2852
2928
  { 123184, 123190 },
2929
+ { 123566, 123566 },
2853
2930
  { 123628, 123631 },
2854
2931
  { 125136, 125142 },
2855
2932
  { 125252, 125258 },
@@ -2913,6 +2990,8 @@ static const URange16 Mc_range16[] = {
2913
2990
  { 4231, 4236 },
2914
2991
  { 4239, 4239 },
2915
2992
  { 4250, 4252 },
2993
+ { 5909, 5909 },
2994
+ { 5940, 5940 },
2916
2995
  { 6070, 6070 },
2917
2996
  { 6078, 6085 },
2918
2997
  { 6087, 6088 },
@@ -3066,7 +3145,8 @@ static const URange16 Mn_range16[] = {
3066
3145
  { 2085, 2087 },
3067
3146
  { 2089, 2093 },
3068
3147
  { 2137, 2139 },
3069
- { 2259, 2273 },
3148
+ { 2200, 2207 },
3149
+ { 2250, 2273 },
3070
3150
  { 2275, 2306 },
3071
3151
  { 2362, 2362 },
3072
3152
  { 2364, 2364 },
@@ -3107,6 +3187,7 @@ static const URange16 Mn_range16[] = {
3107
3187
  { 3021, 3021 },
3108
3188
  { 3072, 3072 },
3109
3189
  { 3076, 3076 },
3190
+ { 3132, 3132 },
3110
3191
  { 3134, 3136 },
3111
3192
  { 3142, 3144 },
3112
3193
  { 3146, 3149 },
@@ -3156,7 +3237,7 @@ static const URange16 Mn_range16[] = {
3156
3237
  { 4253, 4253 },
3157
3238
  { 4957, 4959 },
3158
3239
  { 5906, 5908 },
3159
- { 5938, 5940 },
3240
+ { 5938, 5939 },
3160
3241
  { 5970, 5971 },
3161
3242
  { 6002, 6003 },
3162
3243
  { 6068, 6069 },
@@ -3165,6 +3246,7 @@ static const URange16 Mn_range16[] = {
3165
3246
  { 6089, 6099 },
3166
3247
  { 6109, 6109 },
3167
3248
  { 6155, 6157 },
3249
+ { 6159, 6159 },
3168
3250
  { 6277, 6278 },
3169
3251
  { 6313, 6313 },
3170
3252
  { 6432, 6434 },
@@ -3181,7 +3263,7 @@ static const URange16 Mn_range16[] = {
3181
3263
  { 6771, 6780 },
3182
3264
  { 6783, 6783 },
3183
3265
  { 6832, 6845 },
3184
- { 6847, 6848 },
3266
+ { 6847, 6862 },
3185
3267
  { 6912, 6915 },
3186
3268
  { 6964, 6964 },
3187
3269
  { 6966, 6970 },
@@ -3204,8 +3286,7 @@ static const URange16 Mn_range16[] = {
3204
3286
  { 7405, 7405 },
3205
3287
  { 7412, 7412 },
3206
3288
  { 7416, 7417 },
3207
- { 7616, 7673 },
3208
- { 7675, 7679 },
3289
+ { 7616, 7679 },
3209
3290
  { 8400, 8412 },
3210
3291
  { 8417, 8417 },
3211
3292
  { 8421, 8432 },
@@ -3266,11 +3347,15 @@ static const URange32 Mn_range32[] = {
3266
3347
  { 68900, 68903 },
3267
3348
  { 69291, 69292 },
3268
3349
  { 69446, 69456 },
3350
+ { 69506, 69509 },
3269
3351
  { 69633, 69633 },
3270
3352
  { 69688, 69702 },
3353
+ { 69744, 69744 },
3354
+ { 69747, 69748 },
3271
3355
  { 69759, 69761 },
3272
3356
  { 69811, 69814 },
3273
3357
  { 69817, 69818 },
3358
+ { 69826, 69826 },
3274
3359
  { 69888, 69890 },
3275
3360
  { 69927, 69931 },
3276
3361
  { 69933, 69940 },
@@ -3350,6 +3435,8 @@ static const URange32 Mn_range32[] = {
3350
3435
  { 94095, 94098 },
3351
3436
  { 94180, 94180 },
3352
3437
  { 113821, 113822 },
3438
+ { 118528, 118573 },
3439
+ { 118576, 118598 },
3353
3440
  { 119143, 119145 },
3354
3441
  { 119163, 119170 },
3355
3442
  { 119173, 119179 },
@@ -3367,6 +3454,7 @@ static const URange32 Mn_range32[] = {
3367
3454
  { 122915, 122916 },
3368
3455
  { 122918, 122922 },
3369
3456
  { 123184, 123190 },
3457
+ { 123566, 123566 },
3370
3458
  { 123628, 123631 },
3371
3459
  { 125136, 125142 },
3372
3460
  { 125252, 125258 },
@@ -3491,6 +3579,7 @@ static const URange32 N_range32[] = {
3491
3579
  { 73664, 73684 },
3492
3580
  { 74752, 74862 },
3493
3581
  { 92768, 92777 },
3582
+ { 92864, 92873 },
3494
3583
  { 93008, 93017 },
3495
3584
  { 93019, 93025 },
3496
3585
  { 93824, 93846 },
@@ -3567,6 +3656,7 @@ static const URange32 Nd_range32[] = {
3567
3656
  { 73040, 73049 },
3568
3657
  { 73120, 73129 },
3569
3658
  { 92768, 92777 },
3659
+ { 92864, 92873 },
3570
3660
  { 93008, 93017 },
3571
3661
  { 120782, 120831 },
3572
3662
  { 123200, 123209 },
@@ -3693,7 +3783,7 @@ static const URange16 P_range16[] = {
3693
3783
  { 1545, 1546 },
3694
3784
  { 1548, 1549 },
3695
3785
  { 1563, 1563 },
3696
- { 1566, 1567 },
3786
+ { 1565, 1567 },
3697
3787
  { 1642, 1645 },
3698
3788
  { 1748, 1748 },
3699
3789
  { 1792, 1805 },
@@ -3732,6 +3822,7 @@ static const URange16 P_range16[] = {
3732
3822
  { 6816, 6822 },
3733
3823
  { 6824, 6829 },
3734
3824
  { 7002, 7008 },
3825
+ { 7037, 7038 },
3735
3826
  { 7164, 7167 },
3736
3827
  { 7227, 7231 },
3737
3828
  { 7294, 7295 },
@@ -3756,7 +3847,7 @@ static const URange16 P_range16[] = {
3756
3847
  { 11632, 11632 },
3757
3848
  { 11776, 11822 },
3758
3849
  { 11824, 11855 },
3759
- { 11858, 11858 },
3850
+ { 11858, 11869 },
3760
3851
  { 12289, 12291 },
3761
3852
  { 12296, 12305 },
3762
3853
  { 12308, 12319 },
@@ -3814,6 +3905,7 @@ static const URange32 P_range32[] = {
3814
3905
  { 68505, 68508 },
3815
3906
  { 69293, 69293 },
3816
3907
  { 69461, 69465 },
3908
+ { 69510, 69513 },
3817
3909
  { 69703, 69709 },
3818
3910
  { 69819, 69820 },
3819
3911
  { 69822, 69825 },
@@ -3832,6 +3924,7 @@ static const URange32 P_range32[] = {
3832
3924
  { 71105, 71127 },
3833
3925
  { 71233, 71235 },
3834
3926
  { 71264, 71276 },
3927
+ { 71353, 71353 },
3835
3928
  { 71484, 71486 },
3836
3929
  { 71739, 71739 },
3837
3930
  { 72004, 72006 },
@@ -3844,6 +3937,7 @@ static const URange32 P_range32[] = {
3844
3937
  { 73463, 73464 },
3845
3938
  { 73727, 73727 },
3846
3939
  { 74864, 74868 },
3940
+ { 77809, 77810 },
3847
3941
  { 92782, 92783 },
3848
3942
  { 92917, 92917 },
3849
3943
  { 92983, 92987 },
@@ -3873,6 +3967,7 @@ static const URange16 Pd_range16[] = {
3873
3967
  { 11802, 11802 },
3874
3968
  { 11834, 11835 },
3875
3969
  { 11840, 11840 },
3970
+ { 11869, 11869 },
3876
3971
  { 12316, 12316 },
3877
3972
  { 12336, 12336 },
3878
3973
  { 12448, 12448 },
@@ -3928,6 +4023,10 @@ static const URange16 Pe_range16[] = {
3928
4023
  { 11813, 11813 },
3929
4024
  { 11815, 11815 },
3930
4025
  { 11817, 11817 },
4026
+ { 11862, 11862 },
4027
+ { 11864, 11864 },
4028
+ { 11866, 11866 },
4029
+ { 11868, 11868 },
3931
4030
  { 12297, 12297 },
3932
4031
  { 12299, 12299 },
3933
4032
  { 12301, 12301 },
@@ -4007,7 +4106,7 @@ static const URange16 Po_range16[] = {
4007
4106
  { 1545, 1546 },
4008
4107
  { 1548, 1549 },
4009
4108
  { 1563, 1563 },
4010
- { 1566, 1567 },
4109
+ { 1565, 1567 },
4011
4110
  { 1642, 1645 },
4012
4111
  { 1748, 1748 },
4013
4112
  { 1792, 1805 },
@@ -4044,6 +4143,7 @@ static const URange16 Po_range16[] = {
4044
4143
  { 6816, 6822 },
4045
4144
  { 6824, 6829 },
4046
4145
  { 7002, 7008 },
4146
+ { 7037, 7038 },
4047
4147
  { 7164, 7167 },
4048
4148
  { 7227, 7231 },
4049
4149
  { 7294, 7295 },
@@ -4072,7 +4172,7 @@ static const URange16 Po_range16[] = {
4072
4172
  { 11836, 11839 },
4073
4173
  { 11841, 11841 },
4074
4174
  { 11843, 11855 },
4075
- { 11858, 11858 },
4175
+ { 11858, 11860 },
4076
4176
  { 12289, 12291 },
4077
4177
  { 12349, 12349 },
4078
4178
  { 12539, 12539 },
@@ -4128,6 +4228,7 @@ static const URange32 Po_range32[] = {
4128
4228
  { 68409, 68415 },
4129
4229
  { 68505, 68508 },
4130
4230
  { 69461, 69465 },
4231
+ { 69510, 69513 },
4131
4232
  { 69703, 69709 },
4132
4233
  { 69819, 69820 },
4133
4234
  { 69822, 69825 },
@@ -4146,6 +4247,7 @@ static const URange32 Po_range32[] = {
4146
4247
  { 71105, 71127 },
4147
4248
  { 71233, 71235 },
4148
4249
  { 71264, 71276 },
4250
+ { 71353, 71353 },
4149
4251
  { 71484, 71486 },
4150
4252
  { 71739, 71739 },
4151
4253
  { 72004, 72006 },
@@ -4158,6 +4260,7 @@ static const URange32 Po_range32[] = {
4158
4260
  { 73463, 73464 },
4159
4261
  { 73727, 73727 },
4160
4262
  { 74864, 74868 },
4263
+ { 77809, 77810 },
4161
4264
  { 92782, 92783 },
4162
4265
  { 92917, 92917 },
4163
4266
  { 92983, 92987 },
@@ -4215,6 +4318,10 @@ static const URange16 Ps_range16[] = {
4215
4318
  { 11814, 11814 },
4216
4319
  { 11816, 11816 },
4217
4320
  { 11842, 11842 },
4321
+ { 11861, 11861 },
4322
+ { 11863, 11863 },
4323
+ { 11865, 11865 },
4324
+ { 11867, 11867 },
4218
4325
  { 12296, 12296 },
4219
4326
  { 12298, 12298 },
4220
4327
  { 12300, 12300 },
@@ -4279,6 +4386,7 @@ static const URange16 S_range16[] = {
4279
4386
  { 1789, 1790 },
4280
4387
  { 2038, 2038 },
4281
4388
  { 2046, 2047 },
4389
+ { 2184, 2184 },
4282
4390
  { 2546, 2547 },
4283
4391
  { 2554, 2555 },
4284
4392
  { 2801, 2801 },
@@ -4317,7 +4425,7 @@ static const URange16 S_range16[] = {
4317
4425
  { 8274, 8274 },
4318
4426
  { 8314, 8316 },
4319
4427
  { 8330, 8332 },
4320
- { 8352, 8383 },
4428
+ { 8352, 8384 },
4321
4429
  { 8448, 8449 },
4322
4430
  { 8451, 8454 },
4323
4431
  { 8456, 8457 },
@@ -4379,8 +4487,10 @@ static const URange16 S_range16[] = {
4379
4487
  { 43867, 43867 },
4380
4488
  { 43882, 43883 },
4381
4489
  { 64297, 64297 },
4382
- { 64434, 64449 },
4383
- { 65020, 65021 },
4490
+ { 64434, 64450 },
4491
+ { 64832, 64847 },
4492
+ { 64975, 64975 },
4493
+ { 65020, 65023 },
4384
4494
  { 65122, 65122 },
4385
4495
  { 65124, 65126 },
4386
4496
  { 65129, 65129 },
@@ -4409,13 +4519,14 @@ static const URange32 S_range32[] = {
4409
4519
  { 92988, 92991 },
4410
4520
  { 92997, 92997 },
4411
4521
  { 113820, 113820 },
4522
+ { 118608, 118723 },
4412
4523
  { 118784, 119029 },
4413
4524
  { 119040, 119078 },
4414
4525
  { 119081, 119140 },
4415
4526
  { 119146, 119148 },
4416
4527
  { 119171, 119172 },
4417
4528
  { 119180, 119209 },
4418
- { 119214, 119272 },
4529
+ { 119214, 119274 },
4419
4530
  { 119296, 119361 },
4420
4531
  { 119365, 119365 },
4421
4532
  { 119552, 119638 },
@@ -4453,28 +4564,29 @@ static const URange32 S_range32[] = {
4453
4564
  { 127568, 127569 },
4454
4565
  { 127584, 127589 },
4455
4566
  { 127744, 128727 },
4456
- { 128736, 128748 },
4567
+ { 128733, 128748 },
4457
4568
  { 128752, 128764 },
4458
4569
  { 128768, 128883 },
4459
4570
  { 128896, 128984 },
4460
4571
  { 128992, 129003 },
4572
+ { 129008, 129008 },
4461
4573
  { 129024, 129035 },
4462
4574
  { 129040, 129095 },
4463
4575
  { 129104, 129113 },
4464
4576
  { 129120, 129159 },
4465
4577
  { 129168, 129197 },
4466
4578
  { 129200, 129201 },
4467
- { 129280, 129400 },
4468
- { 129402, 129483 },
4469
- { 129485, 129619 },
4579
+ { 129280, 129619 },
4470
4580
  { 129632, 129645 },
4471
4581
  { 129648, 129652 },
4472
- { 129656, 129658 },
4582
+ { 129656, 129660 },
4473
4583
  { 129664, 129670 },
4474
- { 129680, 129704 },
4475
- { 129712, 129718 },
4476
- { 129728, 129730 },
4477
- { 129744, 129750 },
4584
+ { 129680, 129708 },
4585
+ { 129712, 129722 },
4586
+ { 129728, 129733 },
4587
+ { 129744, 129753 },
4588
+ { 129760, 129767 },
4589
+ { 129776, 129782 },
4478
4590
  { 129792, 129938 },
4479
4591
  { 129940, 129994 },
4480
4592
  };
@@ -4490,7 +4602,7 @@ static const URange16 Sc_range16[] = {
4490
4602
  { 3065, 3065 },
4491
4603
  { 3647, 3647 },
4492
4604
  { 6107, 6107 },
4493
- { 8352, 8383 },
4605
+ { 8352, 8384 },
4494
4606
  { 43064, 43064 },
4495
4607
  { 65020, 65020 },
4496
4608
  { 65129, 65129 },
@@ -4517,6 +4629,7 @@ static const URange16 Sk_range16[] = {
4517
4629
  { 751, 767 },
4518
4630
  { 885, 885 },
4519
4631
  { 900, 901 },
4632
+ { 2184, 2184 },
4520
4633
  { 8125, 8125 },
4521
4634
  { 8127, 8129 },
4522
4635
  { 8141, 8143 },
@@ -4529,7 +4642,7 @@ static const URange16 Sk_range16[] = {
4529
4642
  { 42889, 42890 },
4530
4643
  { 43867, 43867 },
4531
4644
  { 43882, 43883 },
4532
- { 64434, 64449 },
4645
+ { 64434, 64450 },
4533
4646
  { 65342, 65342 },
4534
4647
  { 65344, 65344 },
4535
4648
  { 65507, 65507 },
@@ -4713,7 +4826,9 @@ static const URange16 So_range16[] = {
4713
4826
  { 43062, 43063 },
4714
4827
  { 43065, 43065 },
4715
4828
  { 43639, 43641 },
4716
- { 65021, 65021 },
4829
+ { 64832, 64847 },
4830
+ { 64975, 64975 },
4831
+ { 65021, 65023 },
4717
4832
  { 65508, 65508 },
4718
4833
  { 65512, 65512 },
4719
4834
  { 65517, 65518 },
@@ -4734,13 +4849,14 @@ static const URange32 So_range32[] = {
4734
4849
  { 92988, 92991 },
4735
4850
  { 92997, 92997 },
4736
4851
  { 113820, 113820 },
4852
+ { 118608, 118723 },
4737
4853
  { 118784, 119029 },
4738
4854
  { 119040, 119078 },
4739
4855
  { 119081, 119140 },
4740
4856
  { 119146, 119148 },
4741
4857
  { 119171, 119172 },
4742
4858
  { 119180, 119209 },
4743
- { 119214, 119272 },
4859
+ { 119214, 119274 },
4744
4860
  { 119296, 119361 },
4745
4861
  { 119365, 119365 },
4746
4862
  { 119552, 119638 },
@@ -4766,28 +4882,29 @@ static const URange32 So_range32[] = {
4766
4882
  { 127584, 127589 },
4767
4883
  { 127744, 127994 },
4768
4884
  { 128000, 128727 },
4769
- { 128736, 128748 },
4885
+ { 128733, 128748 },
4770
4886
  { 128752, 128764 },
4771
4887
  { 128768, 128883 },
4772
4888
  { 128896, 128984 },
4773
4889
  { 128992, 129003 },
4890
+ { 129008, 129008 },
4774
4891
  { 129024, 129035 },
4775
4892
  { 129040, 129095 },
4776
4893
  { 129104, 129113 },
4777
4894
  { 129120, 129159 },
4778
4895
  { 129168, 129197 },
4779
4896
  { 129200, 129201 },
4780
- { 129280, 129400 },
4781
- { 129402, 129483 },
4782
- { 129485, 129619 },
4897
+ { 129280, 129619 },
4783
4898
  { 129632, 129645 },
4784
4899
  { 129648, 129652 },
4785
- { 129656, 129658 },
4900
+ { 129656, 129660 },
4786
4901
  { 129664, 129670 },
4787
- { 129680, 129704 },
4788
- { 129712, 129718 },
4789
- { 129728, 129730 },
4790
- { 129744, 129750 },
4902
+ { 129680, 129708 },
4903
+ { 129712, 129722 },
4904
+ { 129728, 129733 },
4905
+ { 129744, 129753 },
4906
+ { 129760, 129767 },
4907
+ { 129776, 129782 },
4791
4908
  { 129792, 129938 },
4792
4909
  { 129940, 129994 },
4793
4910
  };
@@ -4824,7 +4941,7 @@ static const URange32 Adlam_range32[] = {
4824
4941
  static const URange32 Ahom_range32[] = {
4825
4942
  { 71424, 71450 },
4826
4943
  { 71453, 71467 },
4827
- { 71472, 71487 },
4944
+ { 71472, 71494 },
4828
4945
  };
4829
4946
  static const URange32 Anatolian_Hieroglyphs_range32[] = {
4830
4947
  { 82944, 83526 },
@@ -4833,23 +4950,23 @@ static const URange16 Arabic_range16[] = {
4833
4950
  { 1536, 1540 },
4834
4951
  { 1542, 1547 },
4835
4952
  { 1549, 1562 },
4836
- { 1564, 1564 },
4837
- { 1566, 1566 },
4953
+ { 1564, 1566 },
4838
4954
  { 1568, 1599 },
4839
4955
  { 1601, 1610 },
4840
4956
  { 1622, 1647 },
4841
4957
  { 1649, 1756 },
4842
4958
  { 1758, 1791 },
4843
4959
  { 1872, 1919 },
4844
- { 2208, 2228 },
4845
- { 2230, 2247 },
4846
- { 2259, 2273 },
4960
+ { 2160, 2190 },
4961
+ { 2192, 2193 },
4962
+ { 2200, 2273 },
4847
4963
  { 2275, 2303 },
4848
- { 64336, 64449 },
4964
+ { 64336, 64450 },
4849
4965
  { 64467, 64829 },
4850
- { 64848, 64911 },
4966
+ { 64832, 64911 },
4851
4967
  { 64914, 64967 },
4852
- { 65008, 65021 },
4968
+ { 64975, 64975 },
4969
+ { 65008, 65023 },
4853
4970
  { 65136, 65140 },
4854
4971
  { 65142, 65276 },
4855
4972
  };
@@ -4901,8 +5018,8 @@ static const URange32 Avestan_range32[] = {
4901
5018
  { 68409, 68415 },
4902
5019
  };
4903
5020
  static const URange16 Balinese_range16[] = {
4904
- { 6912, 6987 },
4905
- { 6992, 7036 },
5021
+ { 6912, 6988 },
5022
+ { 6992, 7038 },
4906
5023
  };
4907
5024
  static const URange16 Bamum_range16[] = {
4908
5025
  { 42656, 42743 },
@@ -4947,7 +5064,7 @@ static const URange16 Bopomofo_range16[] = {
4947
5064
  };
4948
5065
  static const URange32 Brahmi_range32[] = {
4949
5066
  { 69632, 69709 },
4950
- { 69714, 69743 },
5067
+ { 69714, 69749 },
4951
5068
  { 69759, 69759 },
4952
5069
  };
4953
5070
  static const URange16 Braille_range16[] = {
@@ -4964,6 +5081,9 @@ static const URange16 Canadian_Aboriginal_range16[] = {
4964
5081
  { 5120, 5759 },
4965
5082
  { 6320, 6389 },
4966
5083
  };
5084
+ static const URange32 Canadian_Aboriginal_range32[] = {
5085
+ { 72368, 72383 },
5086
+ };
4967
5087
  static const URange32 Carian_range32[] = {
4968
5088
  { 66208, 66256 },
4969
5089
  };
@@ -5030,7 +5150,7 @@ static const URange16 Common_range16[] = {
5030
5150
  { 8294, 8304 },
5031
5151
  { 8308, 8318 },
5032
5152
  { 8320, 8334 },
5033
- { 8352, 8383 },
5153
+ { 8352, 8384 },
5034
5154
  { 8448, 8485 },
5035
5155
  { 8487, 8489 },
5036
5156
  { 8492, 8497 },
@@ -5043,7 +5163,7 @@ static const URange16 Common_range16[] = {
5043
5163
  { 10496, 11123 },
5044
5164
  { 11126, 11157 },
5045
5165
  { 11159, 11263 },
5046
- { 11776, 11858 },
5166
+ { 11776, 11869 },
5047
5167
  { 12272, 12283 },
5048
5168
  { 12288, 12292 },
5049
5169
  { 12294, 12294 },
@@ -5089,15 +5209,15 @@ static const URange32 Common_range32[] = {
5089
5209
  { 65936, 65948 },
5090
5210
  { 66000, 66044 },
5091
5211
  { 66273, 66299 },
5092
- { 94178, 94179 },
5093
5212
  { 113824, 113827 },
5213
+ { 118608, 118723 },
5094
5214
  { 118784, 119029 },
5095
5215
  { 119040, 119078 },
5096
5216
  { 119081, 119142 },
5097
5217
  { 119146, 119162 },
5098
5218
  { 119171, 119172 },
5099
5219
  { 119180, 119209 },
5100
- { 119214, 119272 },
5220
+ { 119214, 119274 },
5101
5221
  { 119520, 119539 },
5102
5222
  { 119552, 119638 },
5103
5223
  { 119648, 119672 },
@@ -5138,28 +5258,29 @@ static const URange32 Common_range32[] = {
5138
5258
  { 127568, 127569 },
5139
5259
  { 127584, 127589 },
5140
5260
  { 127744, 128727 },
5141
- { 128736, 128748 },
5261
+ { 128733, 128748 },
5142
5262
  { 128752, 128764 },
5143
5263
  { 128768, 128883 },
5144
5264
  { 128896, 128984 },
5145
5265
  { 128992, 129003 },
5266
+ { 129008, 129008 },
5146
5267
  { 129024, 129035 },
5147
5268
  { 129040, 129095 },
5148
5269
  { 129104, 129113 },
5149
5270
  { 129120, 129159 },
5150
5271
  { 129168, 129197 },
5151
5272
  { 129200, 129201 },
5152
- { 129280, 129400 },
5153
- { 129402, 129483 },
5154
- { 129485, 129619 },
5273
+ { 129280, 129619 },
5155
5274
  { 129632, 129645 },
5156
5275
  { 129648, 129652 },
5157
- { 129656, 129658 },
5276
+ { 129656, 129660 },
5158
5277
  { 129664, 129670 },
5159
- { 129680, 129704 },
5160
- { 129712, 129718 },
5161
- { 129728, 129730 },
5162
- { 129744, 129750 },
5278
+ { 129680, 129708 },
5279
+ { 129712, 129722 },
5280
+ { 129728, 129733 },
5281
+ { 129744, 129753 },
5282
+ { 129760, 129767 },
5283
+ { 129776, 129782 },
5163
5284
  { 129792, 129938 },
5164
5285
  { 129940, 129994 },
5165
5286
  { 130032, 130041 },
@@ -5185,6 +5306,9 @@ static const URange32 Cypriot_range32[] = {
5185
5306
  { 67644, 67644 },
5186
5307
  { 67647, 67647 },
5187
5308
  };
5309
+ static const URange32 Cypro_Minoan_range32[] = {
5310
+ { 77712, 77810 },
5311
+ };
5188
5312
  static const URange16 Cyrillic_range16[] = {
5189
5313
  { 1024, 1156 },
5190
5314
  { 1159, 1327 },
@@ -5268,6 +5392,12 @@ static const URange16 Ethiopic_range16[] = {
5268
5392
  { 43808, 43814 },
5269
5393
  { 43816, 43822 },
5270
5394
  };
5395
+ static const URange32 Ethiopic_range32[] = {
5396
+ { 124896, 124902 },
5397
+ { 124904, 124907 },
5398
+ { 124909, 124910 },
5399
+ { 124912, 124926 },
5400
+ };
5271
5401
  static const URange16 Georgian_range16[] = {
5272
5402
  { 4256, 4293 },
5273
5403
  { 4295, 4295 },
@@ -5281,8 +5411,7 @@ static const URange16 Georgian_range16[] = {
5281
5411
  { 11565, 11565 },
5282
5412
  };
5283
5413
  static const URange16 Glagolitic_range16[] = {
5284
- { 11264, 11310 },
5285
- { 11312, 11358 },
5414
+ { 11264, 11359 },
5286
5415
  };
5287
5416
  static const URange32 Glagolitic_range32[] = {
5288
5417
  { 122880, 122886 },
@@ -5402,14 +5531,15 @@ static const URange16 Han_range16[] = {
5402
5531
  { 12321, 12329 },
5403
5532
  { 12344, 12347 },
5404
5533
  { 13312, 19903 },
5405
- { 19968, 40956 },
5534
+ { 19968, 40959 },
5406
5535
  { 63744, 64109 },
5407
5536
  { 64112, 64217 },
5408
5537
  };
5409
5538
  static const URange32 Han_range32[] = {
5539
+ { 94178, 94179 },
5410
5540
  { 94192, 94193 },
5411
- { 131072, 173789 },
5412
- { 173824, 177972 },
5541
+ { 131072, 173791 },
5542
+ { 173824, 177976 },
5413
5543
  { 177984, 178205 },
5414
5544
  { 178208, 183969 },
5415
5545
  { 183984, 191456 },
@@ -5460,7 +5590,7 @@ static const URange16 Hiragana_range16[] = {
5460
5590
  { 12445, 12447 },
5461
5591
  };
5462
5592
  static const URange32 Hiragana_range32[] = {
5463
- { 110593, 110878 },
5593
+ { 110593, 110879 },
5464
5594
  { 110928, 110930 },
5465
5595
  { 127488, 127488 },
5466
5596
  };
@@ -5474,15 +5604,14 @@ static const URange16 Inherited_range16[] = {
5474
5604
  { 1611, 1621 },
5475
5605
  { 1648, 1648 },
5476
5606
  { 2385, 2388 },
5477
- { 6832, 6848 },
5607
+ { 6832, 6862 },
5478
5608
  { 7376, 7378 },
5479
5609
  { 7380, 7392 },
5480
5610
  { 7394, 7400 },
5481
5611
  { 7405, 7405 },
5482
5612
  { 7412, 7412 },
5483
5613
  { 7416, 7417 },
5484
- { 7616, 7673 },
5485
- { 7675, 7679 },
5614
+ { 7616, 7679 },
5486
5615
  { 8204, 8205 },
5487
5616
  { 8400, 8432 },
5488
5617
  { 12330, 12333 },
@@ -5494,6 +5623,8 @@ static const URange32 Inherited_range32[] = {
5494
5623
  { 66045, 66045 },
5495
5624
  { 66272, 66272 },
5496
5625
  { 70459, 70459 },
5626
+ { 118528, 118573 },
5627
+ { 118576, 118598 },
5497
5628
  { 119143, 119145 },
5498
5629
  { 119163, 119170 },
5499
5630
  { 119173, 119179 },
@@ -5514,7 +5645,7 @@ static const URange16 Javanese_range16[] = {
5514
5645
  { 43486, 43487 },
5515
5646
  };
5516
5647
  static const URange32 Kaithi_range32[] = {
5517
- { 69760, 69825 },
5648
+ { 69760, 69826 },
5518
5649
  { 69837, 69837 },
5519
5650
  };
5520
5651
  static const URange16 Kannada_range16[] = {
@@ -5527,7 +5658,7 @@ static const URange16 Kannada_range16[] = {
5527
5658
  { 3270, 3272 },
5528
5659
  { 3274, 3277 },
5529
5660
  { 3285, 3286 },
5530
- { 3294, 3294 },
5661
+ { 3293, 3294 },
5531
5662
  { 3296, 3299 },
5532
5663
  { 3302, 3311 },
5533
5664
  { 3313, 3314 },
@@ -5542,7 +5673,11 @@ static const URange16 Katakana_range16[] = {
5542
5673
  { 65393, 65437 },
5543
5674
  };
5544
5675
  static const URange32 Katakana_range32[] = {
5676
+ { 110576, 110579 },
5677
+ { 110581, 110587 },
5678
+ { 110589, 110590 },
5545
5679
  { 110592, 110592 },
5680
+ { 110880, 110882 },
5546
5681
  { 110948, 110951 },
5547
5682
  };
5548
5683
  static const URange16 Kayah_Li_range16[] = {
@@ -5614,9 +5749,11 @@ static const URange16 Latin_range16[] = {
5614
5749
  { 8544, 8584 },
5615
5750
  { 11360, 11391 },
5616
5751
  { 42786, 42887 },
5617
- { 42891, 42943 },
5618
- { 42946, 42954 },
5619
- { 42997, 43007 },
5752
+ { 42891, 42954 },
5753
+ { 42960, 42961 },
5754
+ { 42963, 42963 },
5755
+ { 42965, 42969 },
5756
+ { 42994, 43007 },
5620
5757
  { 43824, 43866 },
5621
5758
  { 43868, 43876 },
5622
5759
  { 43878, 43881 },
@@ -5624,6 +5761,12 @@ static const URange16 Latin_range16[] = {
5624
5761
  { 65313, 65338 },
5625
5762
  { 65345, 65370 },
5626
5763
  };
5764
+ static const URange32 Latin_range32[] = {
5765
+ { 67456, 67461 },
5766
+ { 67463, 67504 },
5767
+ { 67506, 67514 },
5768
+ { 122624, 122654 },
5769
+ };
5627
5770
  static const URange16 Lepcha_range16[] = {
5628
5771
  { 7168, 7223 },
5629
5772
  { 7227, 7241 },
@@ -5732,8 +5875,7 @@ static const URange32 Modi_range32[] = {
5732
5875
  static const URange16 Mongolian_range16[] = {
5733
5876
  { 6144, 6145 },
5734
5877
  { 6148, 6148 },
5735
- { 6150, 6158 },
5736
- { 6160, 6169 },
5878
+ { 6150, 6169 },
5737
5879
  { 6176, 6264 },
5738
5880
  { 6272, 6314 },
5739
5881
  };
@@ -5824,6 +5966,9 @@ static const URange32 Old_South_Arabian_range32[] = {
5824
5966
  static const URange32 Old_Turkic_range32[] = {
5825
5967
  { 68608, 68680 },
5826
5968
  };
5969
+ static const URange32 Old_Uyghur_range32[] = {
5970
+ { 69488, 69513 },
5971
+ };
5827
5972
  static const URange16 Oriya_range16[] = {
5828
5973
  { 2817, 2819 },
5829
5974
  { 2821, 2828 },
@@ -5945,8 +6090,8 @@ static const URange16 Syriac_range16[] = {
5945
6090
  { 2144, 2154 },
5946
6091
  };
5947
6092
  static const URange16 Tagalog_range16[] = {
5948
- { 5888, 5900 },
5949
- { 5902, 5908 },
6093
+ { 5888, 5909 },
6094
+ { 5919, 5919 },
5950
6095
  };
5951
6096
  static const URange16 Tagbanwa_range16[] = {
5952
6097
  { 5984, 5996 },
@@ -5969,7 +6114,7 @@ static const URange16 Tai_Viet_range16[] = {
5969
6114
  { 43739, 43743 },
5970
6115
  };
5971
6116
  static const URange32 Takri_range32[] = {
5972
- { 71296, 71352 },
6117
+ { 71296, 71353 },
5973
6118
  { 71360, 71369 },
5974
6119
  };
5975
6120
  static const URange16 Tamil_range16[] = {
@@ -5994,6 +6139,10 @@ static const URange32 Tamil_range32[] = {
5994
6139
  { 73664, 73713 },
5995
6140
  { 73727, 73727 },
5996
6141
  };
6142
+ static const URange32 Tangsa_range32[] = {
6143
+ { 92784, 92862 },
6144
+ { 92864, 92873 },
6145
+ };
5997
6146
  static const URange32 Tangut_range32[] = {
5998
6147
  { 94176, 94176 },
5999
6148
  { 94208, 100343 },
@@ -6005,11 +6154,12 @@ static const URange16 Telugu_range16[] = {
6005
6154
  { 3086, 3088 },
6006
6155
  { 3090, 3112 },
6007
6156
  { 3114, 3129 },
6008
- { 3133, 3140 },
6157
+ { 3132, 3140 },
6009
6158
  { 3142, 3144 },
6010
6159
  { 3146, 3149 },
6011
6160
  { 3157, 3158 },
6012
6161
  { 3160, 3162 },
6162
+ { 3165, 3165 },
6013
6163
  { 3168, 3171 },
6014
6164
  { 3174, 3183 },
6015
6165
  { 3191, 3199 },
@@ -6039,6 +6189,9 @@ static const URange32 Tirhuta_range32[] = {
6039
6189
  { 70784, 70855 },
6040
6190
  { 70864, 70873 },
6041
6191
  };
6192
+ static const URange32 Toto_range32[] = {
6193
+ { 123536, 123566 },
6194
+ };
6042
6195
  static const URange32 Ugaritic_range32[] = {
6043
6196
  { 66432, 66461 },
6044
6197
  { 66463, 66463 },
@@ -6046,6 +6199,16 @@ static const URange32 Ugaritic_range32[] = {
6046
6199
  static const URange16 Vai_range16[] = {
6047
6200
  { 42240, 42539 },
6048
6201
  };
6202
+ static const URange32 Vithkuqi_range32[] = {
6203
+ { 66928, 66938 },
6204
+ { 66940, 66954 },
6205
+ { 66956, 66962 },
6206
+ { 66964, 66965 },
6207
+ { 66967, 66977 },
6208
+ { 66979, 66993 },
6209
+ { 66995, 67001 },
6210
+ { 67003, 67004 },
6211
+ };
6049
6212
  static const URange32 Wancho_range32[] = {
6050
6213
  { 123584, 123641 },
6051
6214
  { 123647, 123647 },
@@ -6066,7 +6229,7 @@ static const URange16 Yi_range16[] = {
6066
6229
  static const URange32 Zanabazar_Square_range32[] = {
6067
6230
  { 72192, 72263 },
6068
6231
  };
6069
- // 4001 16-bit ranges, 1602 32-bit ranges
6232
+ // 4038 16-bit ranges, 1712 32-bit ranges
6070
6233
  const UGroup unicode_groups[] = {
6071
6234
  { "Adlam", +1, 0, 0, Adlam_range32, 3 },
6072
6235
  { "Ahom", +1, 0, 0, Ahom_range32, 3 },
@@ -6085,22 +6248,23 @@ const UGroup unicode_groups[] = {
6085
6248
  { "Braille", +1, Braille_range16, 1, 0, 0 },
6086
6249
  { "Buginese", +1, Buginese_range16, 2, 0, 0 },
6087
6250
  { "Buhid", +1, Buhid_range16, 1, 0, 0 },
6088
- { "C", +1, C_range16, 16, C_range32, 9 },
6089
- { "Canadian_Aboriginal", +1, Canadian_Aboriginal_range16, 2, 0, 0 },
6251
+ { "C", +1, C_range16, 17, C_range32, 9 },
6252
+ { "Canadian_Aboriginal", +1, Canadian_Aboriginal_range16, 2, Canadian_Aboriginal_range32, 1 },
6090
6253
  { "Carian", +1, 0, 0, Carian_range32, 1 },
6091
6254
  { "Caucasian_Albanian", +1, 0, 0, Caucasian_Albanian_range32, 2 },
6092
6255
  { "Cc", +1, Cc_range16, 2, 0, 0 },
6093
- { "Cf", +1, Cf_range16, 13, Cf_range32, 7 },
6256
+ { "Cf", +1, Cf_range16, 14, Cf_range32, 7 },
6094
6257
  { "Chakma", +1, 0, 0, Chakma_range32, 2 },
6095
6258
  { "Cham", +1, Cham_range16, 4, 0, 0 },
6096
6259
  { "Cherokee", +1, Cherokee_range16, 3, 0, 0 },
6097
6260
  { "Chorasmian", +1, 0, 0, Chorasmian_range32, 1 },
6098
6261
  { "Co", +1, Co_range16, 1, Co_range32, 2 },
6099
- { "Common", +1, Common_range16, 91, Common_range32, 82 },
6262
+ { "Common", +1, Common_range16, 91, Common_range32, 83 },
6100
6263
  { "Coptic", +1, Coptic_range16, 3, 0, 0 },
6101
6264
  { "Cs", +1, Cs_range16, 1, 0, 0 },
6102
6265
  { "Cuneiform", +1, 0, 0, Cuneiform_range32, 4 },
6103
6266
  { "Cypriot", +1, 0, 0, Cypriot_range32, 6 },
6267
+ { "Cypro_Minoan", +1, 0, 0, Cypro_Minoan_range32, 1 },
6104
6268
  { "Cyrillic", +1, Cyrillic_range16, 8, 0, 0 },
6105
6269
  { "Deseret", +1, 0, 0, Deseret_range32, 1 },
6106
6270
  { "Devanagari", +1, Devanagari_range16, 4, 0, 0 },
@@ -6110,16 +6274,16 @@ const UGroup unicode_groups[] = {
6110
6274
  { "Egyptian_Hieroglyphs", +1, 0, 0, Egyptian_Hieroglyphs_range32, 2 },
6111
6275
  { "Elbasan", +1, 0, 0, Elbasan_range32, 1 },
6112
6276
  { "Elymaic", +1, 0, 0, Elymaic_range32, 1 },
6113
- { "Ethiopic", +1, Ethiopic_range16, 32, 0, 0 },
6277
+ { "Ethiopic", +1, Ethiopic_range16, 32, Ethiopic_range32, 4 },
6114
6278
  { "Georgian", +1, Georgian_range16, 10, 0, 0 },
6115
- { "Glagolitic", +1, Glagolitic_range16, 2, Glagolitic_range32, 5 },
6279
+ { "Glagolitic", +1, Glagolitic_range16, 1, Glagolitic_range32, 5 },
6116
6280
  { "Gothic", +1, 0, 0, Gothic_range32, 1 },
6117
6281
  { "Grantha", +1, 0, 0, Grantha_range32, 15 },
6118
6282
  { "Greek", +1, Greek_range16, 33, Greek_range32, 3 },
6119
6283
  { "Gujarati", +1, Gujarati_range16, 14, 0, 0 },
6120
6284
  { "Gunjala_Gondi", +1, 0, 0, Gunjala_Gondi_range32, 6 },
6121
6285
  { "Gurmukhi", +1, Gurmukhi_range16, 16, 0, 0 },
6122
- { "Han", +1, Han_range16, 11, Han_range32, 8 },
6286
+ { "Han", +1, Han_range16, 11, Han_range32, 9 },
6123
6287
  { "Hangul", +1, Hangul_range16, 14, 0, 0 },
6124
6288
  { "Hanifi_Rohingya", +1, 0, 0, Hanifi_Rohingya_range32, 2 },
6125
6289
  { "Hanunoo", +1, Hanunoo_range16, 1, 0, 0 },
@@ -6127,35 +6291,35 @@ const UGroup unicode_groups[] = {
6127
6291
  { "Hebrew", +1, Hebrew_range16, 9, 0, 0 },
6128
6292
  { "Hiragana", +1, Hiragana_range16, 2, Hiragana_range32, 3 },
6129
6293
  { "Imperial_Aramaic", +1, 0, 0, Imperial_Aramaic_range32, 2 },
6130
- { "Inherited", +1, Inherited_range16, 20, Inherited_range32, 8 },
6294
+ { "Inherited", +1, Inherited_range16, 19, Inherited_range32, 10 },
6131
6295
  { "Inscriptional_Pahlavi", +1, 0, 0, Inscriptional_Pahlavi_range32, 2 },
6132
6296
  { "Inscriptional_Parthian", +1, 0, 0, Inscriptional_Parthian_range32, 2 },
6133
6297
  { "Javanese", +1, Javanese_range16, 3, 0, 0 },
6134
6298
  { "Kaithi", +1, 0, 0, Kaithi_range32, 2 },
6135
6299
  { "Kannada", +1, Kannada_range16, 13, 0, 0 },
6136
- { "Katakana", +1, Katakana_range16, 7, Katakana_range32, 2 },
6300
+ { "Katakana", +1, Katakana_range16, 7, Katakana_range32, 6 },
6137
6301
  { "Kayah_Li", +1, Kayah_Li_range16, 2, 0, 0 },
6138
6302
  { "Kharoshthi", +1, 0, 0, Kharoshthi_range32, 8 },
6139
6303
  { "Khitan_Small_Script", +1, 0, 0, Khitan_Small_Script_range32, 2 },
6140
6304
  { "Khmer", +1, Khmer_range16, 4, 0, 0 },
6141
6305
  { "Khojki", +1, 0, 0, Khojki_range32, 2 },
6142
6306
  { "Khudawadi", +1, 0, 0, Khudawadi_range32, 2 },
6143
- { "L", +1, L_range16, 380, L_range32, 242 },
6307
+ { "L", +1, L_range16, 380, L_range32, 268 },
6144
6308
  { "Lao", +1, Lao_range16, 11, 0, 0 },
6145
- { "Latin", +1, Latin_range16, 32, 0, 0 },
6309
+ { "Latin", +1, Latin_range16, 34, Latin_range32, 4 },
6146
6310
  { "Lepcha", +1, Lepcha_range16, 3, 0, 0 },
6147
6311
  { "Limbu", +1, Limbu_range16, 5, 0, 0 },
6148
6312
  { "Linear_A", +1, 0, 0, Linear_A_range32, 3 },
6149
6313
  { "Linear_B", +1, 0, 0, Linear_B_range32, 7 },
6150
6314
  { "Lisu", +1, Lisu_range16, 1, Lisu_range32, 1 },
6151
- { "Ll", +1, Ll_range16, 611, Ll_range32, 34 },
6152
- { "Lm", +1, Lm_range16, 55, Lm_range32, 6 },
6153
- { "Lo", +1, Lo_range16, 290, Lo_range32, 199 },
6315
+ { "Ll", +1, Ll_range16, 617, Ll_range32, 40 },
6316
+ { "Lm", +1, Lm_range16, 57, Lm_range32, 12 },
6317
+ { "Lo", +1, Lo_range16, 290, Lo_range32, 211 },
6154
6318
  { "Lt", +1, Lt_range16, 10, 0, 0 },
6155
- { "Lu", +1, Lu_range16, 601, Lu_range32, 37 },
6319
+ { "Lu", +1, Lu_range16, 605, Lu_range32, 41 },
6156
6320
  { "Lycian", +1, 0, 0, Lycian_range32, 1 },
6157
6321
  { "Lydian", +1, 0, 0, Lydian_range32, 2 },
6158
- { "M", +1, M_range16, 187, M_range32, 103 },
6322
+ { "M", +1, M_range16, 189, M_range32, 110 },
6159
6323
  { "Mahajani", +1, 0, 0, Mahajani_range32, 1 },
6160
6324
  { "Makasar", +1, 0, 0, Makasar_range32, 1 },
6161
6325
  { "Malayalam", +1, Malayalam_range16, 7, 0, 0 },
@@ -6163,7 +6327,7 @@ const UGroup unicode_groups[] = {
6163
6327
  { "Manichaean", +1, 0, 0, Manichaean_range32, 2 },
6164
6328
  { "Marchen", +1, 0, 0, Marchen_range32, 3 },
6165
6329
  { "Masaram_Gondi", +1, 0, 0, Masaram_Gondi_range32, 7 },
6166
- { "Mc", +1, Mc_range16, 109, Mc_range32, 66 },
6330
+ { "Mc", +1, Mc_range16, 111, Mc_range32, 66 },
6167
6331
  { "Me", +1, Me_range16, 5, 0, 0 },
6168
6332
  { "Medefaidrin", +1, 0, 0, Medefaidrin_range32, 1 },
6169
6333
  { "Meetei_Mayek", +1, Meetei_Mayek_range16, 3, 0, 0 },
@@ -6171,16 +6335,16 @@ const UGroup unicode_groups[] = {
6171
6335
  { "Meroitic_Cursive", +1, 0, 0, Meroitic_Cursive_range32, 3 },
6172
6336
  { "Meroitic_Hieroglyphs", +1, 0, 0, Meroitic_Hieroglyphs_range32, 1 },
6173
6337
  { "Miao", +1, 0, 0, Miao_range32, 3 },
6174
- { "Mn", +1, Mn_range16, 210, Mn_range32, 117 },
6338
+ { "Mn", +1, Mn_range16, 212, Mn_range32, 124 },
6175
6339
  { "Modi", +1, 0, 0, Modi_range32, 2 },
6176
- { "Mongolian", +1, Mongolian_range16, 6, Mongolian_range32, 1 },
6340
+ { "Mongolian", +1, Mongolian_range16, 5, Mongolian_range32, 1 },
6177
6341
  { "Mro", +1, 0, 0, Mro_range32, 3 },
6178
6342
  { "Multani", +1, 0, 0, Multani_range32, 5 },
6179
6343
  { "Myanmar", +1, Myanmar_range16, 3, 0, 0 },
6180
- { "N", +1, N_range16, 67, N_range32, 66 },
6344
+ { "N", +1, N_range16, 67, N_range32, 67 },
6181
6345
  { "Nabataean", +1, 0, 0, Nabataean_range32, 2 },
6182
6346
  { "Nandinagari", +1, 0, 0, Nandinagari_range32, 3 },
6183
- { "Nd", +1, Nd_range16, 37, Nd_range32, 24 },
6347
+ { "Nd", +1, Nd_range16, 37, Nd_range32, 25 },
6184
6348
  { "New_Tai_Lue", +1, New_Tai_Lue_range16, 4, 0, 0 },
6185
6349
  { "Newa", +1, 0, 0, Newa_range32, 2 },
6186
6350
  { "Nko", +1, Nko_range16, 2, 0, 0 },
@@ -6198,26 +6362,27 @@ const UGroup unicode_groups[] = {
6198
6362
  { "Old_Sogdian", +1, 0, 0, Old_Sogdian_range32, 1 },
6199
6363
  { "Old_South_Arabian", +1, 0, 0, Old_South_Arabian_range32, 1 },
6200
6364
  { "Old_Turkic", +1, 0, 0, Old_Turkic_range32, 1 },
6365
+ { "Old_Uyghur", +1, 0, 0, Old_Uyghur_range32, 1 },
6201
6366
  { "Oriya", +1, Oriya_range16, 14, 0, 0 },
6202
6367
  { "Osage", +1, 0, 0, Osage_range32, 2 },
6203
6368
  { "Osmanya", +1, 0, 0, Osmanya_range32, 2 },
6204
- { "P", +1, P_range16, 132, P_range32, 53 },
6369
+ { "P", +1, P_range16, 133, P_range32, 56 },
6205
6370
  { "Pahawh_Hmong", +1, 0, 0, Pahawh_Hmong_range32, 5 },
6206
6371
  { "Palmyrene", +1, 0, 0, Palmyrene_range32, 1 },
6207
6372
  { "Pau_Cin_Hau", +1, 0, 0, Pau_Cin_Hau_range32, 1 },
6208
6373
  { "Pc", +1, Pc_range16, 6, 0, 0 },
6209
- { "Pd", +1, Pd_range16, 17, Pd_range32, 1 },
6210
- { "Pe", +1, Pe_range16, 72, 0, 0 },
6374
+ { "Pd", +1, Pd_range16, 18, Pd_range32, 1 },
6375
+ { "Pe", +1, Pe_range16, 76, 0, 0 },
6211
6376
  { "Pf", +1, Pf_range16, 10, 0, 0 },
6212
6377
  { "Phags_Pa", +1, Phags_Pa_range16, 1, 0, 0 },
6213
6378
  { "Phoenician", +1, 0, 0, Phoenician_range32, 2 },
6214
6379
  { "Pi", +1, Pi_range16, 11, 0, 0 },
6215
- { "Po", +1, Po_range16, 129, Po_range32, 52 },
6216
- { "Ps", +1, Ps_range16, 75, 0, 0 },
6380
+ { "Po", +1, Po_range16, 130, Po_range32, 55 },
6381
+ { "Ps", +1, Ps_range16, 79, 0, 0 },
6217
6382
  { "Psalter_Pahlavi", +1, 0, 0, Psalter_Pahlavi_range32, 3 },
6218
6383
  { "Rejang", +1, Rejang_range16, 2, 0, 0 },
6219
6384
  { "Runic", +1, Runic_range16, 2, 0, 0 },
6220
- { "S", +1, S_range16, 148, S_range32, 81 },
6385
+ { "S", +1, S_range16, 151, S_range32, 83 },
6221
6386
  { "Samaritan", +1, Samaritan_range16, 2, 0, 0 },
6222
6387
  { "Saurashtra", +1, Saurashtra_range16, 2, 0, 0 },
6223
6388
  { "Sc", +1, Sc_range16, 18, Sc_range32, 3 },
@@ -6226,9 +6391,9 @@ const UGroup unicode_groups[] = {
6226
6391
  { "Siddham", +1, 0, 0, Siddham_range32, 2 },
6227
6392
  { "SignWriting", +1, 0, 0, SignWriting_range32, 3 },
6228
6393
  { "Sinhala", +1, Sinhala_range16, 12, Sinhala_range32, 1 },
6229
- { "Sk", +1, Sk_range16, 29, Sk_range32, 1 },
6394
+ { "Sk", +1, Sk_range16, 30, Sk_range32, 1 },
6230
6395
  { "Sm", +1, Sm_range16, 53, Sm_range32, 11 },
6231
- { "So", +1, So_range16, 112, So_range32, 70 },
6396
+ { "So", +1, So_range16, 114, So_range32, 72 },
6232
6397
  { "Sogdian", +1, 0, 0, Sogdian_range32, 1 },
6233
6398
  { "Sora_Sompeng", +1, 0, 0, Sora_Sompeng_range32, 2 },
6234
6399
  { "Soyombo", +1, 0, 0, Soyombo_range32, 1 },
@@ -6242,15 +6407,18 @@ const UGroup unicode_groups[] = {
6242
6407
  { "Tai_Viet", +1, Tai_Viet_range16, 2, 0, 0 },
6243
6408
  { "Takri", +1, 0, 0, Takri_range32, 2 },
6244
6409
  { "Tamil", +1, Tamil_range16, 16, Tamil_range32, 2 },
6410
+ { "Tangsa", +1, 0, 0, Tangsa_range32, 2 },
6245
6411
  { "Tangut", +1, 0, 0, Tangut_range32, 4 },
6246
- { "Telugu", +1, Telugu_range16, 12, 0, 0 },
6412
+ { "Telugu", +1, Telugu_range16, 13, 0, 0 },
6247
6413
  { "Thaana", +1, Thaana_range16, 1, 0, 0 },
6248
6414
  { "Thai", +1, Thai_range16, 2, 0, 0 },
6249
6415
  { "Tibetan", +1, Tibetan_range16, 7, 0, 0 },
6250
6416
  { "Tifinagh", +1, Tifinagh_range16, 3, 0, 0 },
6251
6417
  { "Tirhuta", +1, 0, 0, Tirhuta_range32, 2 },
6418
+ { "Toto", +1, 0, 0, Toto_range32, 1 },
6252
6419
  { "Ugaritic", +1, 0, 0, Ugaritic_range32, 2 },
6253
6420
  { "Vai", +1, Vai_range16, 1, 0, 0 },
6421
+ { "Vithkuqi", +1, 0, 0, Vithkuqi_range32, 8 },
6254
6422
  { "Wancho", +1, 0, 0, Wancho_range32, 2 },
6255
6423
  { "Warang_Citi", +1, 0, 0, Warang_Citi_range32, 2 },
6256
6424
  { "Yezidi", +1, 0, 0, Yezidi_range32, 3 },
@@ -6261,7 +6429,7 @@ const UGroup unicode_groups[] = {
6261
6429
  { "Zp", +1, Zp_range16, 1, 0, 0 },
6262
6430
  { "Zs", +1, Zs_range16, 7, 0, 0 },
6263
6431
  };
6264
- const int num_unicode_groups = 192;
6432
+ const int num_unicode_groups = 197;
6265
6433
 
6266
6434
 
6267
6435
  } // namespace re2