11# encoding: utf-8 
2+ # frozen_string_literal: true 
23
34## 
45# This file is auto-generated. DO NOT EDIT! 
56# 
7+ require  'base64' 
8+ require  'set' 
69require  'protobuf' 
710
811
1417module  Google 
1518  module  Protobuf 
1619    module  Compiler 
20+       FULLY_QUALIFIED_NAME  =  'google.protobuf.compiler'  unless  defined? ( self ::FULLY_QUALIFIED_NAME ) 
21+ 
22+       @descriptors  =  [ ]  unless  instance_variable_defined? ( :@descriptors ) 
23+       @descriptors  << lambda  do 
24+         bytes  =  File . read ( __FILE__ ,  mode : 'rb' ) . split ( /^__END__$/ ,  2 ) . last [ 1 ..-1 ] 
25+         ::Google ::Protobuf ::FileDescriptorProto . decode ( Base64 . decode64 ( bytes ) ) 
26+       end 
27+ 
28+       @descriptor_dependencies  =  Set . new  unless  instance_variable_defined? ( :@descriptor_dependencies ) 
29+       @descriptor_dependencies  |= [ Google ::Protobuf ] 
30+ 
31+       unless  respond_to? ( :descriptor_set ) 
32+         def  self . descriptor_set 
33+           ::Google ::Protobuf ::FileDescriptorSet . new ( :file  =>  @descriptors . map ( &:call ) ) 
34+         end 
35+       end 
36+ 
37+       unless  respond_to? ( :descriptor_dependencies ) 
38+         def  self . descriptor_dependencies 
39+           @descriptor_dependencies 
40+         end 
41+       end 
1742      ::Protobuf ::Optionable . inject ( self )  {  ::Google ::Protobuf ::FileOptions  } 
1843
1944      ## 
@@ -38,13 +63,16 @@ class File < ::Protobuf::Message; end
3863      # Message Fields 
3964      # 
4065      class  CodeGeneratorRequest 
66+         FULLY_QUALIFIED_NAME  =  FULLY_QUALIFIED_NAME  + '.CodeGeneratorRequest' 
4167        repeated  :string ,  :file_to_generate ,  1 
4268        optional  :string ,  :parameter ,  2 
4369        repeated  ::Google ::Protobuf ::FileDescriptorProto ,  :proto_file ,  15 
4470      end 
4571
4672      class  CodeGeneratorResponse 
73+         FULLY_QUALIFIED_NAME  =  FULLY_QUALIFIED_NAME  + '.CodeGeneratorResponse' 
4774        class  File 
75+           FULLY_QUALIFIED_NAME  =  FULLY_QUALIFIED_NAME  + '.File' 
4876          optional  :string ,  :name ,  1 
4977          optional  :string ,  :insertion_point ,  2 
5078          optional  :string ,  :content ,  15 
@@ -60,3 +88,181 @@ class File
6088
6189end 
6290
91+ 
92+ # Raw descriptor bytes below 
93+ __END__
94+ CiVnb29nbGUvcHJvdG9idWYvY29tcGlsZXIvcGx1Z2luLnByb3RvEhhnb29n
95+ bGUucHJvdG9idWYuY29tcGlsZXIaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlw
96+ dG9yLnByb3RvIqMBChRDb2RlR2VuZXJhdG9yUmVxdWVzdBIoChBmaWxlX3Rv
97+ X2dlbmVyYXRlGAEgAygJUg5maWxlVG9HZW5lcmF0ZRIcCglwYXJhbWV0ZXIY
98+ AiABKAlSCXBhcmFtZXRlchJDCgpwcm90b19maWxlGA8gAygLMiQuZ29vZ2xl
99+ LnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SCXByb3RvRmlsZSLWAQoV
100+ Q29kZUdlbmVyYXRvclJlc3BvbnNlEhQKBWVycm9yGAEgASgJUgVlcnJvchJI
101+ CgRmaWxlGA8gAygLMjQuZ29vZ2xlLnByb3RvYnVmLmNvbXBpbGVyLkNvZGVH
102+ ZW5lcmF0b3JSZXNwb25zZS5GaWxlUgRmaWxlGl0KBEZpbGUSEgoEbmFtZRgB
103+ IAEoCVIEbmFtZRInCg9pbnNlcnRpb25fcG9pbnQYAiABKAlSDmluc2VydGlv
104+ blBvaW50EhgKB2NvbnRlbnQYDyABKAlSB2NvbnRlbnRCLAocY29tLmdvb2ds
105+ ZS5wcm90b2J1Zi5jb21waWxlckIMUGx1Z2luUHJvdG9zSqY5CgcSBS4AkgEB
106+ Cr0RCgECEgMuACEytAwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRh
107+ dGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUg
108+ SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHA6Ly9jb2RlLmdvb2ds
109+ ZS5jb20vcC9wcm90b2J1Zi8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
110+ IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1v
111+ ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
112+ b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3Ry
113+ aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
114+ IGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
115+ bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmli
116+ dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
117+ ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
118+ YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50
119+ YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
120+ ZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
121+ b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3Jz
122+ IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
123+ ZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
124+ cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQ
125+ Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
126+ VE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
127+ QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJ
128+ TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
129+ RVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
130+ IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENP
131+ TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
132+ LCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
133+ RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBU
134+ TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
135+ UzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
136+ UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRI
137+ RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
138+ VCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
139+ UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
140+ RQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
141+ T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KMvsEIEF1dGhvcjoga2VudG9u
142+ QGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKCiBXQVJOSU5HOiAgVGhlIHBs
143+ dWdpbiBpbnRlcmZhY2UgaXMgY3VycmVudGx5IEVYUEVSSU1FTlRBTCBhbmQg
144+ aXMgc3ViamVjdCB0bwogICBjaGFuZ2UuCgogcHJvdG9jIChha2EgdGhlIFBy
145+ b3RvY29sIENvbXBpbGVyKSBjYW4gYmUgZXh0ZW5kZWQgdmlhIHBsdWdpbnMu
146+ ICBBIHBsdWdpbiBpcwoganVzdCBhIHByb2dyYW0gdGhhdCByZWFkcyBhIENv
147+ ZGVHZW5lcmF0b3JSZXF1ZXN0IGZyb20gc3RkaW4gYW5kIHdyaXRlcyBhCiBD
148+ b2RlR2VuZXJhdG9yUmVzcG9uc2UgdG8gc3Rkb3V0LgoKIFBsdWdpbnMgd3Jp
149+ dHRlbiB1c2luZyBDKysgY2FuIHVzZSBnb29nbGUvcHJvdG9idWYvY29tcGls
150+ ZXIvcGx1Z2luLmggaW5zdGVhZAogb2YgZGVhbGluZyB3aXRoIHRoZSByYXcg
151+ cHJvdG9jb2wgZGVmaW5lZCBoZXJlLgoKIEEgcGx1Z2luIGV4ZWN1dGFibGUg
152+ bmVlZHMgb25seSB0byBiZSBwbGFjZWQgc29tZXdoZXJlIGluIHRoZSBwYXRo
153+ LiAgVGhlCiBwbHVnaW4gc2hvdWxkIGJlIG5hbWVkICJwcm90b2MtZ2VuLSRO
154+ QU1FIiwgYW5kIHdpbGwgdGhlbiBiZSB1c2VkIHdoZW4gdGhlCiBmbGFnICIt
155+ LSR7TkFNRX1fb3V0IiBpcyBwYXNzZWQgdG8gcHJvdG9jLgoKCAoBCBIDLwA1
156+ CgkKAggBEgMvADUKCAoBCBIDMAAtCgkKAggIEgMwAC0KCQoCAwASAzIAKgpP
157+ CgIEABIENQBKARpDIEFuIGVuY29kZWQgQ29kZUdlbmVyYXRvclJlcXVlc3Qg
158+ aXMgd3JpdHRlbiB0byB0aGUgcGx1Z2luJ3Mgc3RkaW4uCgoKCgMEAAESAzUI
159+ HArRAQoEBAACABIDOQInGsMBIFRoZSAucHJvdG8gZmlsZXMgdGhhdCB3ZXJl
160+ IGV4cGxpY2l0bHkgbGlzdGVkIG9uIHRoZSBjb21tYW5kLWxpbmUuICBUaGUK
161+ IGNvZGUgZ2VuZXJhdG9yIHNob3VsZCBnZW5lcmF0ZSBjb2RlIG9ubHkgZm9y
162+ IHRoZXNlIGZpbGVzLiAgRWFjaCBmaWxlJ3MKIGRlc2NyaXB0b3Igd2lsbCBi
163+ ZSBpbmNsdWRlZCBpbiBwcm90b19maWxlLCBiZWxvdy4KCgwKBQQAAgAEEgM5
164+ AgoKDAoFBAACAAUSAzkLEQoMCgUEAAIAARIDORIiCgwKBQQAAgADEgM5JSYK
165+ QgoEBAACARIDPAIgGjUgVGhlIGdlbmVyYXRvciBwYXJhbWV0ZXIgcGFzc2Vk
166+ IG9uIHRoZSBjb21tYW5kLWxpbmUuCgoMCgUEAAIBBBIDPAIKCgwKBQQAAgEF
167+ EgM8CxEKDAoFBAACAQESAzwSGwoMCgUEAAIBAxIDPB4fCqkFCgQEAAICEgNJ
168+ Ai8amwUgRmlsZURlc2NyaXB0b3JQcm90b3MgZm9yIGFsbCBmaWxlcyBpbiBm
169+ aWxlc190b19nZW5lcmF0ZSBhbmQgZXZlcnl0aGluZwogdGhleSBpbXBvcnQu
170+ ICBUaGUgZmlsZXMgd2lsbCBhcHBlYXIgaW4gdG9wb2xvZ2ljYWwgb3JkZXIs
171+ IHNvIGVhY2ggZmlsZQogYXBwZWFycyBiZWZvcmUgYW55IGZpbGUgdGhhdCBp
172+ bXBvcnRzIGl0LgoKIHByb3RvYyBndWFyYW50ZWVzIHRoYXQgYWxsIHByb3Rv
173+ X2ZpbGVzIHdpbGwgYmUgd3JpdHRlbiBhZnRlcgogdGhlIGZpZWxkcyBhYm92
174+ ZSwgZXZlbiB0aG91Z2ggdGhpcyBpcyBub3QgdGVjaG5pY2FsbHkgZ3VhcmFu
175+ dGVlZCBieSB0aGUKIHByb3RvYnVmIHdpcmUgZm9ybWF0LiAgVGhpcyB0aGVv
176+ cmV0aWNhbGx5IGNvdWxkIGFsbG93IGEgcGx1Z2luIHRvIHN0cmVhbQogaW4g
177+ dGhlIEZpbGVEZXNjcmlwdG9yUHJvdG9zIGFuZCBoYW5kbGUgdGhlbSBvbmUg
178+ Ynkgb25lIHJhdGhlciB0aGFuIHJlYWQKIHRoZSBlbnRpcmUgc2V0IGludG8g
179+ bWVtb3J5IGF0IG9uY2UuICBIb3dldmVyLCBhcyBvZiB0aGlzIHdyaXRpbmcs
180+ IHRoaXMKIGlzIG5vdCBzaW1pbGFybHkgb3B0aW1pemVkIG9uIHByb3RvYydz
181+ IGVuZCAtLSBpdCB3aWxsIHN0b3JlIGFsbCBmaWVsZHMgaW4KIG1lbW9yeSBh
182+ dCBvbmNlIGJlZm9yZSBzZW5kaW5nIHRoZW0gdG8gdGhlIHBsdWdpbi4KCgwK
183+ BQQAAgIEEgNJAgoKDAoFBAACAgYSA0kLHgoMCgUEAAICARIDSR8pCgwKBQQA
184+ AgIDEgNJLC4KTAoCBAESBU0AkgEBGj8gVGhlIHBsdWdpbiB3cml0ZXMgYW4g
185+ ZW5jb2RlZCBDb2RlR2VuZXJhdG9yUmVzcG9uc2UgdG8gc3Rkb3V0LgoKCgoD
186+ BAEBEgNNCB0K7QMKBAQBAgASA1YCHBrfAyBFcnJvciBtZXNzYWdlLiAgSWYg
187+ bm9uLWVtcHR5LCBjb2RlIGdlbmVyYXRpb24gZmFpbGVkLiAgVGhlIHBsdWdp
188+ biBwcm9jZXNzCiBzaG91bGQgZXhpdCB3aXRoIHN0YXR1cyBjb2RlIHplcm8g
189+ ZXZlbiBpZiBpdCByZXBvcnRzIGFuIGVycm9yIGluIHRoaXMgd2F5LgoKIFRo
190+ aXMgc2hvdWxkIGJlIHVzZWQgdG8gaW5kaWNhdGUgZXJyb3JzIGluIC5wcm90
191+ byBmaWxlcyB3aGljaCBwcmV2ZW50IHRoZQogY29kZSBnZW5lcmF0b3IgZnJv
192+ bSBnZW5lcmF0aW5nIGNvcnJlY3QgY29kZS4gIEVycm9ycyB3aGljaCBpbmRp
193+ Y2F0ZSBhCiBwcm9ibGVtIGluIHByb3RvYyBpdHNlbGYgLS0gc3VjaCBhcyB0
194+ aGUgaW5wdXQgQ29kZUdlbmVyYXRvclJlcXVlc3QgYmVpbmcKIHVucGFyc2Vh
195+ YmxlIC0tIHNob3VsZCBiZSByZXBvcnRlZCBieSB3cml0aW5nIGEgbWVzc2Fn
196+ ZSB0byBzdGRlcnIgYW5kCiBleGl0aW5nIHdpdGggYSBub24temVybyBzdGF0
197+ dXMgY29kZS4KCgwKBQQBAgAEEgNWAgoKDAoFBAECAAUSA1YLEQoMCgUEAQIA
198+ ARIDVhIXCgwKBQQBAgADEgNWGhsKNAoEBAEDABIFWQKQAQMaJSBSZXByZXNl
199+ bnRzIGEgc2luZ2xlIGdlbmVyYXRlZCBmaWxlLgoKDAoFBAEDAAESA1kKDgqt
200+ BQoGBAEDAAIAEgNlBB0anQUgVGhlIGZpbGUgbmFtZSwgcmVsYXRpdmUgdG8g
201+ dGhlIG91dHB1dCBkaXJlY3RvcnkuICBUaGUgbmFtZSBtdXN0IG5vdAogY29u
202+ dGFpbiAiLiIgb3IgIi4uIiBjb21wb25lbnRzIGFuZCBtdXN0IGJlIHJlbGF0
203+ aXZlLCBub3QgYmUgYWJzb2x1dGUgKHNvLAogdGhlIGZpbGUgY2Fubm90IGxp
204+ ZSBvdXRzaWRlIHRoZSBvdXRwdXQgZGlyZWN0b3J5KS4gICIvIiBtdXN0IGJl
205+ IHVzZWQgYXMKIHRoZSBwYXRoIHNlcGFyYXRvciwgbm90ICJcIi4KCiBJZiB0
206+ aGUgbmFtZSBpcyBvbWl0dGVkLCB0aGUgY29udGVudCB3aWxsIGJlIGFwcGVu
207+ ZGVkIHRvIHRoZSBwcmV2aW91cwogZmlsZS4gIFRoaXMgYWxsb3dzIHRoZSBn
208+ ZW5lcmF0b3IgdG8gYnJlYWsgbGFyZ2UgZmlsZXMgaW50byBzbWFsbCBjaHVu
209+ a3MsCiBhbmQgYWxsb3dzIHRoZSBnZW5lcmF0ZWQgdGV4dCB0byBiZSBzdHJl
210+ YW1lZCBiYWNrIHRvIHByb3RvYyBzbyB0aGF0IGxhcmdlCiBmaWxlcyBuZWVk
211+ IG5vdCByZXNpZGUgY29tcGxldGVseSBpbiBtZW1vcnkgYXQgb25lIHRpbWUu
212+ ICBOb3RlIHRoYXQgYXMgb2YKIHRoaXMgd3JpdGluZyBwcm90b2MgZG9lcyBu
213+ b3Qgb3B0aW1pemUgZm9yIHRoaXMgLS0gaXQgd2lsbCByZWFkIHRoZSBlbnRp
214+ cmUKIENvZGVHZW5lcmF0b3JSZXNwb25zZSBiZWZvcmUgd3JpdGluZyBmaWxl
215+ cyB0byBkaXNrLgoKDgoHBAEDAAIABBIDZQQMCg4KBwQBAwACAAUSA2UNEwoO
216+ CgcEAQMAAgABEgNlFBgKDgoHBAEDAAIAAxIDZRscCq4QCgYEAQMAAgESBIwB
217+ BCganRAgSWYgbm9uLWVtcHR5LCBpbmRpY2F0ZXMgdGhhdCB0aGUgbmFtZWQg
218+ ZmlsZSBzaG91bGQgYWxyZWFkeSBleGlzdCwgYW5kIHRoZQogY29udGVudCBo
219+ ZXJlIGlzIHRvIGJlIGluc2VydGVkIGludG8gdGhhdCBmaWxlIGF0IGEgZGVm
220+ aW5lZCBpbnNlcnRpb24KIHBvaW50LiAgVGhpcyBmZWF0dXJlIGFsbG93cyBh
221+ IGNvZGUgZ2VuZXJhdG9yIHRvIGV4dGVuZCB0aGUgb3V0cHV0CiBwcm9kdWNl
222+ ZCBieSBhbm90aGVyIGNvZGUgZ2VuZXJhdG9yLiAgVGhlIG9yaWdpbmFsIGdl
223+ bmVyYXRvciBtYXkgcHJvdmlkZQogaW5zZXJ0aW9uIHBvaW50cyBieSBwbGFj
224+ aW5nIHNwZWNpYWwgYW5ub3RhdGlvbnMgaW4gdGhlIGZpbGUgdGhhdCBsb29r
225+ CiBsaWtlOgogICBAQHByb3RvY19pbnNlcnRpb25fcG9pbnQoTkFNRSkKIFRo
226+ ZSBhbm5vdGF0aW9uIGNhbiBoYXZlIGFyYml0cmFyeSB0ZXh0IGJlZm9yZSBh
227+ bmQgYWZ0ZXIgaXQgb24gdGhlIGxpbmUsCiB3aGljaCBhbGxvd3MgaXQgdG8g
228+ YmUgcGxhY2VkIGluIGEgY29tbWVudC4gIE5BTUUgc2hvdWxkIGJlIHJlcGxh
229+ Y2VkIHdpdGgKIGFuIGlkZW50aWZpZXIgbmFtaW5nIHRoZSBwb2ludCAtLSB0
230+ aGlzIGlzIHdoYXQgb3RoZXIgZ2VuZXJhdG9ycyB3aWxsIHVzZQogYXMgdGhl
231+ IGluc2VydGlvbl9wb2ludC4gIENvZGUgaW5zZXJ0ZWQgYXQgdGhpcyBwb2lu
232+ dCB3aWxsIGJlIHBsYWNlZAogaW1tZWRpYXRlbHkgYWJvdmUgdGhlIGxpbmUg
233+ Y29udGFpbmluZyB0aGUgaW5zZXJ0aW9uIHBvaW50ICh0aHVzIG11bHRpcGxl
234+ CiBpbnNlcnRpb25zIHRvIHRoZSBzYW1lIHBvaW50IHdpbGwgY29tZSBvdXQg
235+ aW4gdGhlIG9yZGVyIHRoZXkgd2VyZSBhZGRlZCkuCiBUaGUgZG91YmxlLUAg
236+ aXMgaW50ZW5kZWQgdG8gbWFrZSBpdCB1bmxpa2VseSB0aGF0IHRoZSBnZW5l
237+ cmF0ZWQgY29kZQogY291bGQgY29udGFpbiB0aGluZ3MgdGhhdCBsb29rIGxp
238+ a2UgaW5zZXJ0aW9uIHBvaW50cyBieSBhY2NpZGVudC4KCiBGb3IgZXhhbXBs
239+ ZSwgdGhlIEMrKyBjb2RlIGdlbmVyYXRvciBwbGFjZXMgdGhlIGZvbGxvd2lu
240+ ZyBsaW5lIGluIHRoZQogLnBiLmggZmlsZXMgdGhhdCBpdCBnZW5lcmF0ZXM6
241+ CiAgIC8vIEBAcHJvdG9jX2luc2VydGlvbl9wb2ludChuYW1lc3BhY2Vfc2Nv
242+ cGUpCiBUaGlzIGxpbmUgYXBwZWFycyB3aXRoaW4gdGhlIHNjb3BlIG9mIHRo
243+ ZSBmaWxlJ3MgcGFja2FnZSBuYW1lc3BhY2UsIGJ1dAogb3V0c2lkZSBvZiBh
244+ bnkgcGFydGljdWxhciBjbGFzcy4gIEFub3RoZXIgcGx1Z2luIGNhbiB0aGVu
245+ IHNwZWNpZnkgdGhlCiBpbnNlcnRpb25fcG9pbnQgIm5hbWVzcGFjZV9zY29w
246+ ZSIgdG8gZ2VuZXJhdGUgYWRkaXRpb25hbCBjbGFzc2VzIG9yCiBvdGhlciBk
247+ ZWNsYXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgcGxhY2VkIGluIHRoaXMgc2Nv
248+ cGUuCgogTm90ZSB0aGF0IGlmIHRoZSBsaW5lIGNvbnRhaW5pbmcgdGhlIGlu
249+ c2VydGlvbiBwb2ludCBiZWdpbnMgd2l0aAogd2hpdGVzcGFjZSwgdGhlIHNh
250+ bWUgd2hpdGVzcGFjZSB3aWxsIGJlIGFkZGVkIHRvIGV2ZXJ5IGxpbmUgb2Yg
251+ dGhlCiBpbnNlcnRlZCB0ZXh0LiAgVGhpcyBpcyB1c2VmdWwgZm9yIGxhbmd1
252+ YWdlcyBsaWtlIFB5dGhvbiwgd2hlcmUKIGluZGVudGF0aW9uIG1hdHRlcnMu
253+ ICBJbiB0aGVzZSBsYW5ndWFnZXMsIHRoZSBpbnNlcnRpb24gcG9pbnQgY29t
254+ bWVudAogc2hvdWxkIGJlIGluZGVudGVkIHRoZSBzYW1lIGFtb3VudCBhcyBh
255+ bnkgaW5zZXJ0ZWQgY29kZSB3aWxsIG5lZWQgdG8gYmUKIGluIG9yZGVyIHRv
256+ IHdvcmsgY29ycmVjdGx5IGluIHRoYXQgY29udGV4dC4KCiBUaGUgY29kZSBn
257+ ZW5lcmF0b3IgdGhhdCBnZW5lcmF0ZXMgdGhlIGluaXRpYWwgZmlsZSBhbmQg
258+ dGhlIG9uZSB3aGljaAogaW5zZXJ0cyBpbnRvIGl0IG11c3QgYm90aCBydW4g
259+ YXMgcGFydCBvZiBhIHNpbmdsZSBpbnZvY2F0aW9uIG9mIHByb3RvYy4KIENv
260+ ZGUgZ2VuZXJhdG9ycyBhcmUgZXhlY3V0ZWQgaW4gdGhlIG9yZGVyIGluIHdo
261+ aWNoIHRoZXkgYXBwZWFyIG9uIHRoZQogY29tbWFuZCBsaW5lLgoKIElmIHxp
262+ bnNlcnRpb25fcG9pbnR8IGlzIHByZXNlbnQsIHxuYW1lfCBtdXN0IGFsc28g
263+ YmUgcHJlc2VudC4KCg8KBwQBAwACAQQSBIwBBAwKDwoHBAEDAAIBBRIEjAEN
264+ EwoPCgcEAQMAAgEBEgSMARQjCg8KBwQBAwACAQMSBIwBJicKJAoGBAEDAAIC
265+ EgSPAQQhGhQgVGhlIGZpbGUgY29udGVudHMuCgoPCgcEAQMAAgIEEgSPAQQM
266+ Cg8KBwQBAwACAgUSBI8BDRMKDwoHBAEDAAICARIEjwEUGwoPCgcEAQMAAgID
267+ EgSPAR4gCgwKBAQBAgESBJEBAhoKDQoFBAECAQQSBJEBAgoKDQoFBAECAQYS
268+ BJEBCw8KDQoFBAECAQESBJEBEBQKDQoFBAECAQMSBJEBFxk=
0 commit comments