You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1092 lines
40 KiB

  1. // Code generated by protoc-gen-go.
  2. // source: filer.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package filer_pb is a generated protocol buffer package.
  6. It is generated from these files:
  7. filer.proto
  8. It has these top-level messages:
  9. LookupDirectoryEntryRequest
  10. LookupDirectoryEntryResponse
  11. ListEntriesRequest
  12. ListEntriesResponse
  13. Entry
  14. EventNotification
  15. FileChunk
  16. FuseAttributes
  17. CreateEntryRequest
  18. CreateEntryResponse
  19. UpdateEntryRequest
  20. UpdateEntryResponse
  21. DeleteEntryRequest
  22. DeleteEntryResponse
  23. AssignVolumeRequest
  24. AssignVolumeResponse
  25. LookupVolumeRequest
  26. Locations
  27. Location
  28. LookupVolumeResponse
  29. DeleteCollectionRequest
  30. DeleteCollectionResponse
  31. */
  32. package filer_pb
  33. import proto "github.com/golang/protobuf/proto"
  34. import fmt "fmt"
  35. import math "math"
  36. import (
  37. context "golang.org/x/net/context"
  38. grpc "google.golang.org/grpc"
  39. )
  40. // Reference imports to suppress errors if they are not otherwise used.
  41. var _ = proto.Marshal
  42. var _ = fmt.Errorf
  43. var _ = math.Inf
  44. // This is a compile-time assertion to ensure that this generated file
  45. // is compatible with the proto package it is being compiled against.
  46. // A compilation error at this line likely means your copy of the
  47. // proto package needs to be updated.
  48. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  49. type LookupDirectoryEntryRequest struct {
  50. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  51. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  52. }
  53. func (m *LookupDirectoryEntryRequest) Reset() { *m = LookupDirectoryEntryRequest{} }
  54. func (m *LookupDirectoryEntryRequest) String() string { return proto.CompactTextString(m) }
  55. func (*LookupDirectoryEntryRequest) ProtoMessage() {}
  56. func (*LookupDirectoryEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
  57. func (m *LookupDirectoryEntryRequest) GetDirectory() string {
  58. if m != nil {
  59. return m.Directory
  60. }
  61. return ""
  62. }
  63. func (m *LookupDirectoryEntryRequest) GetName() string {
  64. if m != nil {
  65. return m.Name
  66. }
  67. return ""
  68. }
  69. type LookupDirectoryEntryResponse struct {
  70. Entry *Entry `protobuf:"bytes,1,opt,name=entry" json:"entry,omitempty"`
  71. }
  72. func (m *LookupDirectoryEntryResponse) Reset() { *m = LookupDirectoryEntryResponse{} }
  73. func (m *LookupDirectoryEntryResponse) String() string { return proto.CompactTextString(m) }
  74. func (*LookupDirectoryEntryResponse) ProtoMessage() {}
  75. func (*LookupDirectoryEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
  76. func (m *LookupDirectoryEntryResponse) GetEntry() *Entry {
  77. if m != nil {
  78. return m.Entry
  79. }
  80. return nil
  81. }
  82. type ListEntriesRequest struct {
  83. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  84. Prefix string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"`
  85. StartFromFileName string `protobuf:"bytes,3,opt,name=startFromFileName" json:"startFromFileName,omitempty"`
  86. InclusiveStartFrom bool `protobuf:"varint,4,opt,name=inclusiveStartFrom" json:"inclusiveStartFrom,omitempty"`
  87. Limit uint32 `protobuf:"varint,5,opt,name=limit" json:"limit,omitempty"`
  88. }
  89. func (m *ListEntriesRequest) Reset() { *m = ListEntriesRequest{} }
  90. func (m *ListEntriesRequest) String() string { return proto.CompactTextString(m) }
  91. func (*ListEntriesRequest) ProtoMessage() {}
  92. func (*ListEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
  93. func (m *ListEntriesRequest) GetDirectory() string {
  94. if m != nil {
  95. return m.Directory
  96. }
  97. return ""
  98. }
  99. func (m *ListEntriesRequest) GetPrefix() string {
  100. if m != nil {
  101. return m.Prefix
  102. }
  103. return ""
  104. }
  105. func (m *ListEntriesRequest) GetStartFromFileName() string {
  106. if m != nil {
  107. return m.StartFromFileName
  108. }
  109. return ""
  110. }
  111. func (m *ListEntriesRequest) GetInclusiveStartFrom() bool {
  112. if m != nil {
  113. return m.InclusiveStartFrom
  114. }
  115. return false
  116. }
  117. func (m *ListEntriesRequest) GetLimit() uint32 {
  118. if m != nil {
  119. return m.Limit
  120. }
  121. return 0
  122. }
  123. type ListEntriesResponse struct {
  124. Entries []*Entry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
  125. }
  126. func (m *ListEntriesResponse) Reset() { *m = ListEntriesResponse{} }
  127. func (m *ListEntriesResponse) String() string { return proto.CompactTextString(m) }
  128. func (*ListEntriesResponse) ProtoMessage() {}
  129. func (*ListEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
  130. func (m *ListEntriesResponse) GetEntries() []*Entry {
  131. if m != nil {
  132. return m.Entries
  133. }
  134. return nil
  135. }
  136. type Entry struct {
  137. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  138. IsDirectory bool `protobuf:"varint,2,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  139. Chunks []*FileChunk `protobuf:"bytes,3,rep,name=chunks" json:"chunks,omitempty"`
  140. Attributes *FuseAttributes `protobuf:"bytes,4,opt,name=attributes" json:"attributes,omitempty"`
  141. Extended map[string][]byte `protobuf:"bytes,5,rep,name=extended" json:"extended,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"`
  142. }
  143. func (m *Entry) Reset() { *m = Entry{} }
  144. func (m *Entry) String() string { return proto.CompactTextString(m) }
  145. func (*Entry) ProtoMessage() {}
  146. func (*Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
  147. func (m *Entry) GetName() string {
  148. if m != nil {
  149. return m.Name
  150. }
  151. return ""
  152. }
  153. func (m *Entry) GetIsDirectory() bool {
  154. if m != nil {
  155. return m.IsDirectory
  156. }
  157. return false
  158. }
  159. func (m *Entry) GetChunks() []*FileChunk {
  160. if m != nil {
  161. return m.Chunks
  162. }
  163. return nil
  164. }
  165. func (m *Entry) GetAttributes() *FuseAttributes {
  166. if m != nil {
  167. return m.Attributes
  168. }
  169. return nil
  170. }
  171. func (m *Entry) GetExtended() map[string][]byte {
  172. if m != nil {
  173. return m.Extended
  174. }
  175. return nil
  176. }
  177. type EventNotification struct {
  178. OldEntry *Entry `protobuf:"bytes,1,opt,name=old_entry,json=oldEntry" json:"old_entry,omitempty"`
  179. NewEntry *Entry `protobuf:"bytes,2,opt,name=new_entry,json=newEntry" json:"new_entry,omitempty"`
  180. DeleteChunks bool `protobuf:"varint,3,opt,name=delete_chunks,json=deleteChunks" json:"delete_chunks,omitempty"`
  181. }
  182. func (m *EventNotification) Reset() { *m = EventNotification{} }
  183. func (m *EventNotification) String() string { return proto.CompactTextString(m) }
  184. func (*EventNotification) ProtoMessage() {}
  185. func (*EventNotification) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
  186. func (m *EventNotification) GetOldEntry() *Entry {
  187. if m != nil {
  188. return m.OldEntry
  189. }
  190. return nil
  191. }
  192. func (m *EventNotification) GetNewEntry() *Entry {
  193. if m != nil {
  194. return m.NewEntry
  195. }
  196. return nil
  197. }
  198. func (m *EventNotification) GetDeleteChunks() bool {
  199. if m != nil {
  200. return m.DeleteChunks
  201. }
  202. return false
  203. }
  204. type FileChunk struct {
  205. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  206. Offset int64 `protobuf:"varint,2,opt,name=offset" json:"offset,omitempty"`
  207. Size uint64 `protobuf:"varint,3,opt,name=size" json:"size,omitempty"`
  208. Mtime int64 `protobuf:"varint,4,opt,name=mtime" json:"mtime,omitempty"`
  209. ETag string `protobuf:"bytes,5,opt,name=e_tag,json=eTag" json:"e_tag,omitempty"`
  210. SourceFileId string `protobuf:"bytes,6,opt,name=source_file_id,json=sourceFileId" json:"source_file_id,omitempty"`
  211. }
  212. func (m *FileChunk) Reset() { *m = FileChunk{} }
  213. func (m *FileChunk) String() string { return proto.CompactTextString(m) }
  214. func (*FileChunk) ProtoMessage() {}
  215. func (*FileChunk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
  216. func (m *FileChunk) GetFileId() string {
  217. if m != nil {
  218. return m.FileId
  219. }
  220. return ""
  221. }
  222. func (m *FileChunk) GetOffset() int64 {
  223. if m != nil {
  224. return m.Offset
  225. }
  226. return 0
  227. }
  228. func (m *FileChunk) GetSize() uint64 {
  229. if m != nil {
  230. return m.Size
  231. }
  232. return 0
  233. }
  234. func (m *FileChunk) GetMtime() int64 {
  235. if m != nil {
  236. return m.Mtime
  237. }
  238. return 0
  239. }
  240. func (m *FileChunk) GetETag() string {
  241. if m != nil {
  242. return m.ETag
  243. }
  244. return ""
  245. }
  246. func (m *FileChunk) GetSourceFileId() string {
  247. if m != nil {
  248. return m.SourceFileId
  249. }
  250. return ""
  251. }
  252. type FuseAttributes struct {
  253. FileSize uint64 `protobuf:"varint,1,opt,name=file_size,json=fileSize" json:"file_size,omitempty"`
  254. Mtime int64 `protobuf:"varint,2,opt,name=mtime" json:"mtime,omitempty"`
  255. FileMode uint32 `protobuf:"varint,3,opt,name=file_mode,json=fileMode" json:"file_mode,omitempty"`
  256. Uid uint32 `protobuf:"varint,4,opt,name=uid" json:"uid,omitempty"`
  257. Gid uint32 `protobuf:"varint,5,opt,name=gid" json:"gid,omitempty"`
  258. Crtime int64 `protobuf:"varint,6,opt,name=crtime" json:"crtime,omitempty"`
  259. Mime string `protobuf:"bytes,7,opt,name=mime" json:"mime,omitempty"`
  260. Replication string `protobuf:"bytes,8,opt,name=replication" json:"replication,omitempty"`
  261. Collection string `protobuf:"bytes,9,opt,name=collection" json:"collection,omitempty"`
  262. TtlSec int32 `protobuf:"varint,10,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  263. }
  264. func (m *FuseAttributes) Reset() { *m = FuseAttributes{} }
  265. func (m *FuseAttributes) String() string { return proto.CompactTextString(m) }
  266. func (*FuseAttributes) ProtoMessage() {}
  267. func (*FuseAttributes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
  268. func (m *FuseAttributes) GetFileSize() uint64 {
  269. if m != nil {
  270. return m.FileSize
  271. }
  272. return 0
  273. }
  274. func (m *FuseAttributes) GetMtime() int64 {
  275. if m != nil {
  276. return m.Mtime
  277. }
  278. return 0
  279. }
  280. func (m *FuseAttributes) GetFileMode() uint32 {
  281. if m != nil {
  282. return m.FileMode
  283. }
  284. return 0
  285. }
  286. func (m *FuseAttributes) GetUid() uint32 {
  287. if m != nil {
  288. return m.Uid
  289. }
  290. return 0
  291. }
  292. func (m *FuseAttributes) GetGid() uint32 {
  293. if m != nil {
  294. return m.Gid
  295. }
  296. return 0
  297. }
  298. func (m *FuseAttributes) GetCrtime() int64 {
  299. if m != nil {
  300. return m.Crtime
  301. }
  302. return 0
  303. }
  304. func (m *FuseAttributes) GetMime() string {
  305. if m != nil {
  306. return m.Mime
  307. }
  308. return ""
  309. }
  310. func (m *FuseAttributes) GetReplication() string {
  311. if m != nil {
  312. return m.Replication
  313. }
  314. return ""
  315. }
  316. func (m *FuseAttributes) GetCollection() string {
  317. if m != nil {
  318. return m.Collection
  319. }
  320. return ""
  321. }
  322. func (m *FuseAttributes) GetTtlSec() int32 {
  323. if m != nil {
  324. return m.TtlSec
  325. }
  326. return 0
  327. }
  328. type CreateEntryRequest struct {
  329. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  330. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  331. }
  332. func (m *CreateEntryRequest) Reset() { *m = CreateEntryRequest{} }
  333. func (m *CreateEntryRequest) String() string { return proto.CompactTextString(m) }
  334. func (*CreateEntryRequest) ProtoMessage() {}
  335. func (*CreateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
  336. func (m *CreateEntryRequest) GetDirectory() string {
  337. if m != nil {
  338. return m.Directory
  339. }
  340. return ""
  341. }
  342. func (m *CreateEntryRequest) GetEntry() *Entry {
  343. if m != nil {
  344. return m.Entry
  345. }
  346. return nil
  347. }
  348. type CreateEntryResponse struct {
  349. }
  350. func (m *CreateEntryResponse) Reset() { *m = CreateEntryResponse{} }
  351. func (m *CreateEntryResponse) String() string { return proto.CompactTextString(m) }
  352. func (*CreateEntryResponse) ProtoMessage() {}
  353. func (*CreateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
  354. type UpdateEntryRequest struct {
  355. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  356. Entry *Entry `protobuf:"bytes,2,opt,name=entry" json:"entry,omitempty"`
  357. }
  358. func (m *UpdateEntryRequest) Reset() { *m = UpdateEntryRequest{} }
  359. func (m *UpdateEntryRequest) String() string { return proto.CompactTextString(m) }
  360. func (*UpdateEntryRequest) ProtoMessage() {}
  361. func (*UpdateEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  362. func (m *UpdateEntryRequest) GetDirectory() string {
  363. if m != nil {
  364. return m.Directory
  365. }
  366. return ""
  367. }
  368. func (m *UpdateEntryRequest) GetEntry() *Entry {
  369. if m != nil {
  370. return m.Entry
  371. }
  372. return nil
  373. }
  374. type UpdateEntryResponse struct {
  375. }
  376. func (m *UpdateEntryResponse) Reset() { *m = UpdateEntryResponse{} }
  377. func (m *UpdateEntryResponse) String() string { return proto.CompactTextString(m) }
  378. func (*UpdateEntryResponse) ProtoMessage() {}
  379. func (*UpdateEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  380. type DeleteEntryRequest struct {
  381. Directory string `protobuf:"bytes,1,opt,name=directory" json:"directory,omitempty"`
  382. Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  383. IsDirectory bool `protobuf:"varint,3,opt,name=is_directory,json=isDirectory" json:"is_directory,omitempty"`
  384. IsDeleteData bool `protobuf:"varint,4,opt,name=is_delete_data,json=isDeleteData" json:"is_delete_data,omitempty"`
  385. IsRecursive bool `protobuf:"varint,5,opt,name=is_recursive,json=isRecursive" json:"is_recursive,omitempty"`
  386. }
  387. func (m *DeleteEntryRequest) Reset() { *m = DeleteEntryRequest{} }
  388. func (m *DeleteEntryRequest) String() string { return proto.CompactTextString(m) }
  389. func (*DeleteEntryRequest) ProtoMessage() {}
  390. func (*DeleteEntryRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  391. func (m *DeleteEntryRequest) GetDirectory() string {
  392. if m != nil {
  393. return m.Directory
  394. }
  395. return ""
  396. }
  397. func (m *DeleteEntryRequest) GetName() string {
  398. if m != nil {
  399. return m.Name
  400. }
  401. return ""
  402. }
  403. func (m *DeleteEntryRequest) GetIsDirectory() bool {
  404. if m != nil {
  405. return m.IsDirectory
  406. }
  407. return false
  408. }
  409. func (m *DeleteEntryRequest) GetIsDeleteData() bool {
  410. if m != nil {
  411. return m.IsDeleteData
  412. }
  413. return false
  414. }
  415. func (m *DeleteEntryRequest) GetIsRecursive() bool {
  416. if m != nil {
  417. return m.IsRecursive
  418. }
  419. return false
  420. }
  421. type DeleteEntryResponse struct {
  422. }
  423. func (m *DeleteEntryResponse) Reset() { *m = DeleteEntryResponse{} }
  424. func (m *DeleteEntryResponse) String() string { return proto.CompactTextString(m) }
  425. func (*DeleteEntryResponse) ProtoMessage() {}
  426. func (*DeleteEntryResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  427. type AssignVolumeRequest struct {
  428. Count int32 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
  429. Collection string `protobuf:"bytes,2,opt,name=collection" json:"collection,omitempty"`
  430. Replication string `protobuf:"bytes,3,opt,name=replication" json:"replication,omitempty"`
  431. TtlSec int32 `protobuf:"varint,4,opt,name=ttl_sec,json=ttlSec" json:"ttl_sec,omitempty"`
  432. DataCenter string `protobuf:"bytes,5,opt,name=data_center,json=dataCenter" json:"data_center,omitempty"`
  433. }
  434. func (m *AssignVolumeRequest) Reset() { *m = AssignVolumeRequest{} }
  435. func (m *AssignVolumeRequest) String() string { return proto.CompactTextString(m) }
  436. func (*AssignVolumeRequest) ProtoMessage() {}
  437. func (*AssignVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  438. func (m *AssignVolumeRequest) GetCount() int32 {
  439. if m != nil {
  440. return m.Count
  441. }
  442. return 0
  443. }
  444. func (m *AssignVolumeRequest) GetCollection() string {
  445. if m != nil {
  446. return m.Collection
  447. }
  448. return ""
  449. }
  450. func (m *AssignVolumeRequest) GetReplication() string {
  451. if m != nil {
  452. return m.Replication
  453. }
  454. return ""
  455. }
  456. func (m *AssignVolumeRequest) GetTtlSec() int32 {
  457. if m != nil {
  458. return m.TtlSec
  459. }
  460. return 0
  461. }
  462. func (m *AssignVolumeRequest) GetDataCenter() string {
  463. if m != nil {
  464. return m.DataCenter
  465. }
  466. return ""
  467. }
  468. type AssignVolumeResponse struct {
  469. FileId string `protobuf:"bytes,1,opt,name=file_id,json=fileId" json:"file_id,omitempty"`
  470. Url string `protobuf:"bytes,2,opt,name=url" json:"url,omitempty"`
  471. PublicUrl string `protobuf:"bytes,3,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  472. Count int32 `protobuf:"varint,4,opt,name=count" json:"count,omitempty"`
  473. }
  474. func (m *AssignVolumeResponse) Reset() { *m = AssignVolumeResponse{} }
  475. func (m *AssignVolumeResponse) String() string { return proto.CompactTextString(m) }
  476. func (*AssignVolumeResponse) ProtoMessage() {}
  477. func (*AssignVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  478. func (m *AssignVolumeResponse) GetFileId() string {
  479. if m != nil {
  480. return m.FileId
  481. }
  482. return ""
  483. }
  484. func (m *AssignVolumeResponse) GetUrl() string {
  485. if m != nil {
  486. return m.Url
  487. }
  488. return ""
  489. }
  490. func (m *AssignVolumeResponse) GetPublicUrl() string {
  491. if m != nil {
  492. return m.PublicUrl
  493. }
  494. return ""
  495. }
  496. func (m *AssignVolumeResponse) GetCount() int32 {
  497. if m != nil {
  498. return m.Count
  499. }
  500. return 0
  501. }
  502. type LookupVolumeRequest struct {
  503. VolumeIds []string `protobuf:"bytes,1,rep,name=volume_ids,json=volumeIds" json:"volume_ids,omitempty"`
  504. }
  505. func (m *LookupVolumeRequest) Reset() { *m = LookupVolumeRequest{} }
  506. func (m *LookupVolumeRequest) String() string { return proto.CompactTextString(m) }
  507. func (*LookupVolumeRequest) ProtoMessage() {}
  508. func (*LookupVolumeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  509. func (m *LookupVolumeRequest) GetVolumeIds() []string {
  510. if m != nil {
  511. return m.VolumeIds
  512. }
  513. return nil
  514. }
  515. type Locations struct {
  516. Locations []*Location `protobuf:"bytes,1,rep,name=locations" json:"locations,omitempty"`
  517. }
  518. func (m *Locations) Reset() { *m = Locations{} }
  519. func (m *Locations) String() string { return proto.CompactTextString(m) }
  520. func (*Locations) ProtoMessage() {}
  521. func (*Locations) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  522. func (m *Locations) GetLocations() []*Location {
  523. if m != nil {
  524. return m.Locations
  525. }
  526. return nil
  527. }
  528. type Location struct {
  529. Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"`
  530. PublicUrl string `protobuf:"bytes,2,opt,name=public_url,json=publicUrl" json:"public_url,omitempty"`
  531. }
  532. func (m *Location) Reset() { *m = Location{} }
  533. func (m *Location) String() string { return proto.CompactTextString(m) }
  534. func (*Location) ProtoMessage() {}
  535. func (*Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
  536. func (m *Location) GetUrl() string {
  537. if m != nil {
  538. return m.Url
  539. }
  540. return ""
  541. }
  542. func (m *Location) GetPublicUrl() string {
  543. if m != nil {
  544. return m.PublicUrl
  545. }
  546. return ""
  547. }
  548. type LookupVolumeResponse struct {
  549. LocationsMap map[string]*Locations `protobuf:"bytes,1,rep,name=locations_map,json=locationsMap" json:"locations_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
  550. }
  551. func (m *LookupVolumeResponse) Reset() { *m = LookupVolumeResponse{} }
  552. func (m *LookupVolumeResponse) String() string { return proto.CompactTextString(m) }
  553. func (*LookupVolumeResponse) ProtoMessage() {}
  554. func (*LookupVolumeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
  555. func (m *LookupVolumeResponse) GetLocationsMap() map[string]*Locations {
  556. if m != nil {
  557. return m.LocationsMap
  558. }
  559. return nil
  560. }
  561. type DeleteCollectionRequest struct {
  562. Collection string `protobuf:"bytes,1,opt,name=collection" json:"collection,omitempty"`
  563. }
  564. func (m *DeleteCollectionRequest) Reset() { *m = DeleteCollectionRequest{} }
  565. func (m *DeleteCollectionRequest) String() string { return proto.CompactTextString(m) }
  566. func (*DeleteCollectionRequest) ProtoMessage() {}
  567. func (*DeleteCollectionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
  568. func (m *DeleteCollectionRequest) GetCollection() string {
  569. if m != nil {
  570. return m.Collection
  571. }
  572. return ""
  573. }
  574. type DeleteCollectionResponse struct {
  575. }
  576. func (m *DeleteCollectionResponse) Reset() { *m = DeleteCollectionResponse{} }
  577. func (m *DeleteCollectionResponse) String() string { return proto.CompactTextString(m) }
  578. func (*DeleteCollectionResponse) ProtoMessage() {}
  579. func (*DeleteCollectionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
  580. func init() {
  581. proto.RegisterType((*LookupDirectoryEntryRequest)(nil), "filer_pb.LookupDirectoryEntryRequest")
  582. proto.RegisterType((*LookupDirectoryEntryResponse)(nil), "filer_pb.LookupDirectoryEntryResponse")
  583. proto.RegisterType((*ListEntriesRequest)(nil), "filer_pb.ListEntriesRequest")
  584. proto.RegisterType((*ListEntriesResponse)(nil), "filer_pb.ListEntriesResponse")
  585. proto.RegisterType((*Entry)(nil), "filer_pb.Entry")
  586. proto.RegisterType((*EventNotification)(nil), "filer_pb.EventNotification")
  587. proto.RegisterType((*FileChunk)(nil), "filer_pb.FileChunk")
  588. proto.RegisterType((*FuseAttributes)(nil), "filer_pb.FuseAttributes")
  589. proto.RegisterType((*CreateEntryRequest)(nil), "filer_pb.CreateEntryRequest")
  590. proto.RegisterType((*CreateEntryResponse)(nil), "filer_pb.CreateEntryResponse")
  591. proto.RegisterType((*UpdateEntryRequest)(nil), "filer_pb.UpdateEntryRequest")
  592. proto.RegisterType((*UpdateEntryResponse)(nil), "filer_pb.UpdateEntryResponse")
  593. proto.RegisterType((*DeleteEntryRequest)(nil), "filer_pb.DeleteEntryRequest")
  594. proto.RegisterType((*DeleteEntryResponse)(nil), "filer_pb.DeleteEntryResponse")
  595. proto.RegisterType((*AssignVolumeRequest)(nil), "filer_pb.AssignVolumeRequest")
  596. proto.RegisterType((*AssignVolumeResponse)(nil), "filer_pb.AssignVolumeResponse")
  597. proto.RegisterType((*LookupVolumeRequest)(nil), "filer_pb.LookupVolumeRequest")
  598. proto.RegisterType((*Locations)(nil), "filer_pb.Locations")
  599. proto.RegisterType((*Location)(nil), "filer_pb.Location")
  600. proto.RegisterType((*LookupVolumeResponse)(nil), "filer_pb.LookupVolumeResponse")
  601. proto.RegisterType((*DeleteCollectionRequest)(nil), "filer_pb.DeleteCollectionRequest")
  602. proto.RegisterType((*DeleteCollectionResponse)(nil), "filer_pb.DeleteCollectionResponse")
  603. }
  604. // Reference imports to suppress errors if they are not otherwise used.
  605. var _ context.Context
  606. var _ grpc.ClientConn
  607. // This is a compile-time assertion to ensure that this generated file
  608. // is compatible with the grpc package it is being compiled against.
  609. const _ = grpc.SupportPackageIsVersion4
  610. // Client API for SeaweedFiler service
  611. type SeaweedFilerClient interface {
  612. LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error)
  613. ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error)
  614. CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error)
  615. UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error)
  616. DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error)
  617. AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error)
  618. LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error)
  619. DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error)
  620. }
  621. type seaweedFilerClient struct {
  622. cc *grpc.ClientConn
  623. }
  624. func NewSeaweedFilerClient(cc *grpc.ClientConn) SeaweedFilerClient {
  625. return &seaweedFilerClient{cc}
  626. }
  627. func (c *seaweedFilerClient) LookupDirectoryEntry(ctx context.Context, in *LookupDirectoryEntryRequest, opts ...grpc.CallOption) (*LookupDirectoryEntryResponse, error) {
  628. out := new(LookupDirectoryEntryResponse)
  629. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupDirectoryEntry", in, out, c.cc, opts...)
  630. if err != nil {
  631. return nil, err
  632. }
  633. return out, nil
  634. }
  635. func (c *seaweedFilerClient) ListEntries(ctx context.Context, in *ListEntriesRequest, opts ...grpc.CallOption) (*ListEntriesResponse, error) {
  636. out := new(ListEntriesResponse)
  637. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/ListEntries", in, out, c.cc, opts...)
  638. if err != nil {
  639. return nil, err
  640. }
  641. return out, nil
  642. }
  643. func (c *seaweedFilerClient) CreateEntry(ctx context.Context, in *CreateEntryRequest, opts ...grpc.CallOption) (*CreateEntryResponse, error) {
  644. out := new(CreateEntryResponse)
  645. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/CreateEntry", in, out, c.cc, opts...)
  646. if err != nil {
  647. return nil, err
  648. }
  649. return out, nil
  650. }
  651. func (c *seaweedFilerClient) UpdateEntry(ctx context.Context, in *UpdateEntryRequest, opts ...grpc.CallOption) (*UpdateEntryResponse, error) {
  652. out := new(UpdateEntryResponse)
  653. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/UpdateEntry", in, out, c.cc, opts...)
  654. if err != nil {
  655. return nil, err
  656. }
  657. return out, nil
  658. }
  659. func (c *seaweedFilerClient) DeleteEntry(ctx context.Context, in *DeleteEntryRequest, opts ...grpc.CallOption) (*DeleteEntryResponse, error) {
  660. out := new(DeleteEntryResponse)
  661. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteEntry", in, out, c.cc, opts...)
  662. if err != nil {
  663. return nil, err
  664. }
  665. return out, nil
  666. }
  667. func (c *seaweedFilerClient) AssignVolume(ctx context.Context, in *AssignVolumeRequest, opts ...grpc.CallOption) (*AssignVolumeResponse, error) {
  668. out := new(AssignVolumeResponse)
  669. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/AssignVolume", in, out, c.cc, opts...)
  670. if err != nil {
  671. return nil, err
  672. }
  673. return out, nil
  674. }
  675. func (c *seaweedFilerClient) LookupVolume(ctx context.Context, in *LookupVolumeRequest, opts ...grpc.CallOption) (*LookupVolumeResponse, error) {
  676. out := new(LookupVolumeResponse)
  677. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/LookupVolume", in, out, c.cc, opts...)
  678. if err != nil {
  679. return nil, err
  680. }
  681. return out, nil
  682. }
  683. func (c *seaweedFilerClient) DeleteCollection(ctx context.Context, in *DeleteCollectionRequest, opts ...grpc.CallOption) (*DeleteCollectionResponse, error) {
  684. out := new(DeleteCollectionResponse)
  685. err := grpc.Invoke(ctx, "/filer_pb.SeaweedFiler/DeleteCollection", in, out, c.cc, opts...)
  686. if err != nil {
  687. return nil, err
  688. }
  689. return out, nil
  690. }
  691. // Server API for SeaweedFiler service
  692. type SeaweedFilerServer interface {
  693. LookupDirectoryEntry(context.Context, *LookupDirectoryEntryRequest) (*LookupDirectoryEntryResponse, error)
  694. ListEntries(context.Context, *ListEntriesRequest) (*ListEntriesResponse, error)
  695. CreateEntry(context.Context, *CreateEntryRequest) (*CreateEntryResponse, error)
  696. UpdateEntry(context.Context, *UpdateEntryRequest) (*UpdateEntryResponse, error)
  697. DeleteEntry(context.Context, *DeleteEntryRequest) (*DeleteEntryResponse, error)
  698. AssignVolume(context.Context, *AssignVolumeRequest) (*AssignVolumeResponse, error)
  699. LookupVolume(context.Context, *LookupVolumeRequest) (*LookupVolumeResponse, error)
  700. DeleteCollection(context.Context, *DeleteCollectionRequest) (*DeleteCollectionResponse, error)
  701. }
  702. func RegisterSeaweedFilerServer(s *grpc.Server, srv SeaweedFilerServer) {
  703. s.RegisterService(&_SeaweedFiler_serviceDesc, srv)
  704. }
  705. func _SeaweedFiler_LookupDirectoryEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  706. in := new(LookupDirectoryEntryRequest)
  707. if err := dec(in); err != nil {
  708. return nil, err
  709. }
  710. if interceptor == nil {
  711. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, in)
  712. }
  713. info := &grpc.UnaryServerInfo{
  714. Server: srv,
  715. FullMethod: "/filer_pb.SeaweedFiler/LookupDirectoryEntry",
  716. }
  717. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  718. return srv.(SeaweedFilerServer).LookupDirectoryEntry(ctx, req.(*LookupDirectoryEntryRequest))
  719. }
  720. return interceptor(ctx, in, info, handler)
  721. }
  722. func _SeaweedFiler_ListEntries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  723. in := new(ListEntriesRequest)
  724. if err := dec(in); err != nil {
  725. return nil, err
  726. }
  727. if interceptor == nil {
  728. return srv.(SeaweedFilerServer).ListEntries(ctx, in)
  729. }
  730. info := &grpc.UnaryServerInfo{
  731. Server: srv,
  732. FullMethod: "/filer_pb.SeaweedFiler/ListEntries",
  733. }
  734. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  735. return srv.(SeaweedFilerServer).ListEntries(ctx, req.(*ListEntriesRequest))
  736. }
  737. return interceptor(ctx, in, info, handler)
  738. }
  739. func _SeaweedFiler_CreateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  740. in := new(CreateEntryRequest)
  741. if err := dec(in); err != nil {
  742. return nil, err
  743. }
  744. if interceptor == nil {
  745. return srv.(SeaweedFilerServer).CreateEntry(ctx, in)
  746. }
  747. info := &grpc.UnaryServerInfo{
  748. Server: srv,
  749. FullMethod: "/filer_pb.SeaweedFiler/CreateEntry",
  750. }
  751. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  752. return srv.(SeaweedFilerServer).CreateEntry(ctx, req.(*CreateEntryRequest))
  753. }
  754. return interceptor(ctx, in, info, handler)
  755. }
  756. func _SeaweedFiler_UpdateEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  757. in := new(UpdateEntryRequest)
  758. if err := dec(in); err != nil {
  759. return nil, err
  760. }
  761. if interceptor == nil {
  762. return srv.(SeaweedFilerServer).UpdateEntry(ctx, in)
  763. }
  764. info := &grpc.UnaryServerInfo{
  765. Server: srv,
  766. FullMethod: "/filer_pb.SeaweedFiler/UpdateEntry",
  767. }
  768. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  769. return srv.(SeaweedFilerServer).UpdateEntry(ctx, req.(*UpdateEntryRequest))
  770. }
  771. return interceptor(ctx, in, info, handler)
  772. }
  773. func _SeaweedFiler_DeleteEntry_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  774. in := new(DeleteEntryRequest)
  775. if err := dec(in); err != nil {
  776. return nil, err
  777. }
  778. if interceptor == nil {
  779. return srv.(SeaweedFilerServer).DeleteEntry(ctx, in)
  780. }
  781. info := &grpc.UnaryServerInfo{
  782. Server: srv,
  783. FullMethod: "/filer_pb.SeaweedFiler/DeleteEntry",
  784. }
  785. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  786. return srv.(SeaweedFilerServer).DeleteEntry(ctx, req.(*DeleteEntryRequest))
  787. }
  788. return interceptor(ctx, in, info, handler)
  789. }
  790. func _SeaweedFiler_AssignVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  791. in := new(AssignVolumeRequest)
  792. if err := dec(in); err != nil {
  793. return nil, err
  794. }
  795. if interceptor == nil {
  796. return srv.(SeaweedFilerServer).AssignVolume(ctx, in)
  797. }
  798. info := &grpc.UnaryServerInfo{
  799. Server: srv,
  800. FullMethod: "/filer_pb.SeaweedFiler/AssignVolume",
  801. }
  802. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  803. return srv.(SeaweedFilerServer).AssignVolume(ctx, req.(*AssignVolumeRequest))
  804. }
  805. return interceptor(ctx, in, info, handler)
  806. }
  807. func _SeaweedFiler_LookupVolume_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  808. in := new(LookupVolumeRequest)
  809. if err := dec(in); err != nil {
  810. return nil, err
  811. }
  812. if interceptor == nil {
  813. return srv.(SeaweedFilerServer).LookupVolume(ctx, in)
  814. }
  815. info := &grpc.UnaryServerInfo{
  816. Server: srv,
  817. FullMethod: "/filer_pb.SeaweedFiler/LookupVolume",
  818. }
  819. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  820. return srv.(SeaweedFilerServer).LookupVolume(ctx, req.(*LookupVolumeRequest))
  821. }
  822. return interceptor(ctx, in, info, handler)
  823. }
  824. func _SeaweedFiler_DeleteCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  825. in := new(DeleteCollectionRequest)
  826. if err := dec(in); err != nil {
  827. return nil, err
  828. }
  829. if interceptor == nil {
  830. return srv.(SeaweedFilerServer).DeleteCollection(ctx, in)
  831. }
  832. info := &grpc.UnaryServerInfo{
  833. Server: srv,
  834. FullMethod: "/filer_pb.SeaweedFiler/DeleteCollection",
  835. }
  836. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  837. return srv.(SeaweedFilerServer).DeleteCollection(ctx, req.(*DeleteCollectionRequest))
  838. }
  839. return interceptor(ctx, in, info, handler)
  840. }
  841. var _SeaweedFiler_serviceDesc = grpc.ServiceDesc{
  842. ServiceName: "filer_pb.SeaweedFiler",
  843. HandlerType: (*SeaweedFilerServer)(nil),
  844. Methods: []grpc.MethodDesc{
  845. {
  846. MethodName: "LookupDirectoryEntry",
  847. Handler: _SeaweedFiler_LookupDirectoryEntry_Handler,
  848. },
  849. {
  850. MethodName: "ListEntries",
  851. Handler: _SeaweedFiler_ListEntries_Handler,
  852. },
  853. {
  854. MethodName: "CreateEntry",
  855. Handler: _SeaweedFiler_CreateEntry_Handler,
  856. },
  857. {
  858. MethodName: "UpdateEntry",
  859. Handler: _SeaweedFiler_UpdateEntry_Handler,
  860. },
  861. {
  862. MethodName: "DeleteEntry",
  863. Handler: _SeaweedFiler_DeleteEntry_Handler,
  864. },
  865. {
  866. MethodName: "AssignVolume",
  867. Handler: _SeaweedFiler_AssignVolume_Handler,
  868. },
  869. {
  870. MethodName: "LookupVolume",
  871. Handler: _SeaweedFiler_LookupVolume_Handler,
  872. },
  873. {
  874. MethodName: "DeleteCollection",
  875. Handler: _SeaweedFiler_DeleteCollection_Handler,
  876. },
  877. },
  878. Streams: []grpc.StreamDesc{},
  879. Metadata: "filer.proto",
  880. }
  881. func init() { proto.RegisterFile("filer.proto", fileDescriptor0) }
  882. var fileDescriptor0 = []byte{
  883. // 1129 bytes of a gzipped FileDescriptorProto
  884. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x4d, 0x6f, 0xdc, 0xc4,
  885. 0x1b, 0x8f, 0xf7, 0x2d, 0xeb, 0x67, 0x77, 0xf3, 0x6f, 0x66, 0xf3, 0xa7, 0xd6, 0x36, 0x29, 0x5b,
  886. 0xd3, 0xa2, 0x54, 0x44, 0x51, 0x15, 0x38, 0xb4, 0x54, 0x48, 0x54, 0x79, 0x91, 0x2a, 0xa5, 0xad,
  887. 0xe4, 0x34, 0x48, 0x88, 0x83, 0xe5, 0xd8, 0x4f, 0xc2, 0x28, 0x5e, 0x7b, 0xf1, 0x8c, 0x93, 0x96,
  888. 0xaf, 0xc0, 0x95, 0x2b, 0x07, 0x4e, 0xdc, 0x38, 0xf0, 0x01, 0xb8, 0xf0, 0xc5, 0xd0, 0xbc, 0xd8,
  889. 0x3b, 0x5e, 0x3b, 0x01, 0x84, 0xb8, 0xcd, 0xf3, 0x32, 0xcf, 0xdb, 0xfc, 0xe6, 0x37, 0x36, 0x0c,
  890. 0xce, 0x69, 0x8c, 0xd9, 0xee, 0x3c, 0x4b, 0x79, 0x4a, 0xfa, 0x52, 0xf0, 0xe7, 0x67, 0xee, 0x1b,
  891. 0xb8, 0x77, 0x9c, 0xa6, 0x97, 0xf9, 0xfc, 0x80, 0x66, 0x18, 0xf2, 0x34, 0x7b, 0x7f, 0x98, 0xf0,
  892. 0xec, 0xbd, 0x87, 0xdf, 0xe5, 0xc8, 0x38, 0xd9, 0x04, 0x3b, 0x2a, 0x0c, 0x8e, 0x35, 0xb5, 0xb6,
  893. 0x6d, 0x6f, 0xa1, 0x20, 0x04, 0x3a, 0x49, 0x30, 0x43, 0xa7, 0x25, 0x0d, 0x72, 0xed, 0x1e, 0xc2,
  894. 0x66, 0x73, 0x40, 0x36, 0x4f, 0x13, 0x86, 0xe4, 0x11, 0x74, 0x51, 0x28, 0x64, 0xb4, 0xc1, 0xde,
  895. 0xff, 0x76, 0x8b, 0x52, 0x76, 0x95, 0x9f, 0xb2, 0xba, 0xbf, 0x5b, 0x40, 0x8e, 0x29, 0xe3, 0x42,
  896. 0x49, 0x91, 0xfd, 0xbd, 0x7a, 0x3e, 0x80, 0xde, 0x3c, 0xc3, 0x73, 0xfa, 0x4e, 0x57, 0xa4, 0x25,
  897. 0xb2, 0x03, 0xeb, 0x8c, 0x07, 0x19, 0x3f, 0xca, 0xd2, 0xd9, 0x11, 0x8d, 0xf1, 0xb5, 0x28, 0xba,
  898. 0x2d, 0x5d, 0xea, 0x06, 0xb2, 0x0b, 0x84, 0x26, 0x61, 0x9c, 0x33, 0x7a, 0x85, 0x27, 0x85, 0xd5,
  899. 0xe9, 0x4c, 0xad, 0xed, 0xbe, 0xd7, 0x60, 0x21, 0x1b, 0xd0, 0x8d, 0xe9, 0x8c, 0x72, 0xa7, 0x3b,
  900. 0xb5, 0xb6, 0x47, 0x9e, 0x12, 0xdc, 0x2f, 0x61, 0x5c, 0xa9, 0x5f, 0xb7, 0xff, 0x18, 0x56, 0x51,
  901. 0xa9, 0x1c, 0x6b, 0xda, 0x6e, 0x1a, 0x40, 0x61, 0x77, 0x7f, 0x6a, 0x41, 0x57, 0xaa, 0xca, 0x39,
  902. 0x5b, 0x8b, 0x39, 0x93, 0x07, 0x30, 0xa4, 0xcc, 0x5f, 0x0c, 0xa3, 0x25, 0xeb, 0x1b, 0x50, 0x56,
  903. 0xce, 0x9d, 0x7c, 0x02, 0xbd, 0xf0, 0xdb, 0x3c, 0xb9, 0x64, 0x4e, 0x5b, 0xa6, 0x1a, 0x2f, 0x52,
  904. 0x89, 0x66, 0xf7, 0x85, 0xcd, 0xd3, 0x2e, 0xe4, 0x29, 0x40, 0xc0, 0x79, 0x46, 0xcf, 0x72, 0x8e,
  905. 0x4c, 0x76, 0x3b, 0xd8, 0x73, 0x8c, 0x0d, 0x39, 0xc3, 0x17, 0xa5, 0xdd, 0x33, 0x7c, 0xc9, 0x33,
  906. 0xe8, 0xe3, 0x3b, 0x8e, 0x49, 0x84, 0x91, 0xd3, 0x95, 0x89, 0xb6, 0x96, 0x7a, 0xda, 0x3d, 0xd4,
  907. 0x76, 0xd5, 0x61, 0xe9, 0x3e, 0x79, 0x0e, 0xa3, 0x8a, 0x89, 0xdc, 0x81, 0xf6, 0x25, 0x16, 0x27,
  908. 0x2b, 0x96, 0x62, 0xba, 0x57, 0x41, 0x9c, 0x2b, 0x90, 0x0d, 0x3d, 0x25, 0x7c, 0xde, 0x7a, 0x6a,
  909. 0xb9, 0x3f, 0x5a, 0xb0, 0x7e, 0x78, 0x85, 0x09, 0x7f, 0x9d, 0x72, 0x7a, 0x4e, 0xc3, 0x80, 0xd3,
  910. 0x34, 0x21, 0x3b, 0x60, 0xa7, 0x71, 0xe4, 0xdf, 0x8a, 0xb1, 0x7e, 0x1a, 0xeb, 0x7c, 0x3b, 0x60,
  911. 0x27, 0x78, 0xad, 0xbd, 0x5b, 0x37, 0x78, 0x27, 0x78, 0xad, 0xbc, 0x3f, 0x82, 0x51, 0x84, 0x31,
  912. 0x72, 0xf4, 0xcb, 0xb9, 0x8a, 0xa1, 0x0f, 0x95, 0x52, 0xce, 0x93, 0xb9, 0x3f, 0x5b, 0x60, 0x97,
  913. 0xe3, 0x25, 0x77, 0x61, 0x55, 0x84, 0xf3, 0x69, 0xa4, 0x9b, 0xea, 0x09, 0xf1, 0x65, 0x24, 0xb0,
  914. 0x9a, 0x9e, 0x9f, 0x33, 0xe4, 0x32, 0x6d, 0xdb, 0xd3, 0x92, 0x38, 0x6b, 0x46, 0xbf, 0x57, 0xf0,
  915. 0xec, 0x78, 0x72, 0x2d, 0x66, 0x30, 0xe3, 0x74, 0x86, 0xf2, 0x58, 0xda, 0x9e, 0x12, 0xc8, 0x18,
  916. 0xba, 0xe8, 0xf3, 0xe0, 0x42, 0xe2, 0xce, 0xf6, 0x3a, 0xf8, 0x36, 0xb8, 0x20, 0x0f, 0x61, 0x8d,
  917. 0xa5, 0x79, 0x16, 0xa2, 0x5f, 0xa4, 0xed, 0x49, 0xeb, 0x50, 0x69, 0x8f, 0x64, 0x72, 0xf7, 0x87,
  918. 0x16, 0xac, 0x55, 0x4f, 0x94, 0xdc, 0x03, 0x5b, 0xee, 0x90, 0xc9, 0x2d, 0x99, 0x5c, 0xb2, 0xc4,
  919. 0x49, 0xa5, 0x80, 0x96, 0x59, 0x40, 0xb1, 0x65, 0x96, 0x46, 0xaa, 0xde, 0x91, 0xda, 0xf2, 0x2a,
  920. 0x8d, 0x50, 0x9c, 0x64, 0x4e, 0x23, 0x59, 0xf1, 0xc8, 0x13, 0x4b, 0xa1, 0xb9, 0xa0, 0x91, 0xbe,
  921. 0x25, 0x62, 0x29, 0x66, 0x10, 0x66, 0x32, 0x6e, 0x4f, 0xcd, 0x40, 0x49, 0x62, 0x06, 0x33, 0xa1,
  922. 0x5d, 0x55, 0x8d, 0x89, 0x35, 0x99, 0xc2, 0x20, 0xc3, 0x79, 0xac, 0x8f, 0xd9, 0xe9, 0x4b, 0x93,
  923. 0xa9, 0x22, 0xf7, 0x01, 0xc2, 0x34, 0x8e, 0x31, 0x94, 0x0e, 0xb6, 0x74, 0x30, 0x34, 0xe2, 0x28,
  924. 0x38, 0x8f, 0x7d, 0x86, 0xa1, 0x03, 0x53, 0x6b, 0xbb, 0xeb, 0xf5, 0x38, 0x8f, 0x4f, 0x30, 0x74,
  925. 0xbf, 0x06, 0xb2, 0x9f, 0x61, 0xc0, 0xf1, 0x1f, 0x50, 0x5f, 0x49, 0x63, 0xad, 0x5b, 0x69, 0xec,
  926. 0xff, 0x30, 0xae, 0x84, 0x56, 0x2c, 0x20, 0x32, 0x9e, 0xce, 0xa3, 0xff, 0x2a, 0x63, 0x25, 0xb4,
  927. 0xce, 0xf8, 0x9b, 0x05, 0xe4, 0x40, 0xc2, 0xf4, 0xdf, 0xf1, 0x7b, 0x8d, 0x77, 0xda, 0x75, 0xde,
  928. 0x79, 0x08, 0x6b, 0xc2, 0x45, 0xdd, 0x94, 0x28, 0xe0, 0x81, 0x26, 0xcf, 0x21, 0x65, 0xaa, 0x84,
  929. 0x83, 0x80, 0x07, 0x3a, 0x50, 0x86, 0x61, 0x9e, 0x09, 0x3e, 0x95, 0xb8, 0x90, 0x81, 0xbc, 0x42,
  930. 0x25, 0x7a, 0xa9, 0xd4, 0xac, 0x7b, 0xf9, 0xc5, 0x82, 0xf1, 0x0b, 0xc6, 0xe8, 0x45, 0xf2, 0x55,
  931. 0x1a, 0xe7, 0x33, 0x2c, 0x9a, 0xd9, 0x80, 0x6e, 0x98, 0xe6, 0x09, 0x97, 0x8d, 0x74, 0x3d, 0x25,
  932. 0x2c, 0xc1, 0xa2, 0x55, 0x83, 0xc5, 0x12, 0xb0, 0xda, 0x75, 0x60, 0x19, 0xc0, 0xe9, 0x98, 0xc0,
  933. 0x21, 0x1f, 0xc2, 0x40, 0xb4, 0xe7, 0x87, 0x98, 0x70, 0xcc, 0xf4, 0x3d, 0x04, 0xa1, 0xda, 0x97,
  934. 0x1a, 0xf7, 0x0a, 0x36, 0xaa, 0x85, 0xea, 0x57, 0xe0, 0x46, 0x56, 0x10, 0xb7, 0x26, 0x8b, 0x75,
  935. 0x95, 0x62, 0x49, 0xb6, 0x00, 0xe6, 0xf9, 0x59, 0x4c, 0x43, 0x5f, 0x18, 0x54, 0x75, 0xb6, 0xd2,
  936. 0x9c, 0x66, 0xf1, 0xa2, 0xe7, 0x8e, 0xd1, 0xb3, 0xfb, 0x19, 0x8c, 0xd5, 0x23, 0x5c, 0x1d, 0xd0,
  937. 0x16, 0xc0, 0x95, 0x54, 0xf8, 0x34, 0x52, 0xef, 0x8f, 0xed, 0xd9, 0x4a, 0xf3, 0x32, 0x62, 0xee,
  938. 0x17, 0x60, 0x1f, 0xa7, 0xaa, 0x67, 0x46, 0x9e, 0x80, 0x1d, 0x17, 0x82, 0x7e, 0xaa, 0xc8, 0x02,
  939. 0x72, 0x85, 0x9f, 0xb7, 0x70, 0x72, 0x9f, 0x43, 0xbf, 0x50, 0x17, 0x7d, 0x58, 0x37, 0xf5, 0xd1,
  940. 0x5a, 0xea, 0xc3, 0xfd, 0xc3, 0x82, 0x8d, 0x6a, 0xc9, 0x7a, 0x54, 0xa7, 0x30, 0x2a, 0x53, 0xf8,
  941. 0xb3, 0x60, 0xae, 0x6b, 0x79, 0x62, 0xd6, 0x52, 0xdf, 0x56, 0x16, 0xc8, 0x5e, 0x05, 0x73, 0x85,
  942. 0x9e, 0x61, 0x6c, 0xa8, 0x26, 0x6f, 0x61, 0xbd, 0xe6, 0xd2, 0xf0, 0xfa, 0x3c, 0x36, 0x5f, 0x9f,
  943. 0xca, 0x0b, 0x5a, 0xee, 0x36, 0x9f, 0xa4, 0x67, 0x70, 0x57, 0x01, 0x76, 0xbf, 0xc4, 0x57, 0x31,
  944. 0xfb, 0x2a, 0x0c, 0xad, 0x65, 0x18, 0xba, 0x13, 0x70, 0xea, 0x5b, 0x55, 0x33, 0x7b, 0xbf, 0x76,
  945. 0x61, 0x78, 0x82, 0xc1, 0x35, 0x62, 0x24, 0x08, 0x3c, 0x23, 0x17, 0xc5, 0xb0, 0xaa, 0x1f, 0x59,
  946. 0xe4, 0xd1, 0xf2, 0x54, 0x1a, 0xbf, 0xea, 0x26, 0x1f, 0xff, 0x95, 0x9b, 0xbe, 0x68, 0x2b, 0xe4,
  947. 0x18, 0x06, 0xc6, 0x57, 0x0c, 0xd9, 0x34, 0x36, 0xd6, 0x3e, 0xce, 0x26, 0x5b, 0x37, 0x58, 0xcd,
  948. 0x68, 0x06, 0x1b, 0x9a, 0xd1, 0xea, 0xfc, 0x6b, 0x46, 0x6b, 0xa2, 0x50, 0x19, 0xcd, 0x60, 0x3a,
  949. 0x33, 0x5a, 0x9d, 0x5b, 0xcd, 0x68, 0x4d, 0xf4, 0x28, 0xa3, 0x19, 0x5c, 0x63, 0x46, 0xab, 0xd3,
  950. 0xa6, 0x19, 0xad, 0x89, 0xa0, 0x56, 0xc8, 0x1b, 0x18, 0x9a, 0x17, 0x9f, 0x18, 0x1b, 0x1a, 0x98,
  951. 0x6b, 0x72, 0xff, 0x26, 0xb3, 0x19, 0xd0, 0xc4, 0xb9, 0x19, 0xb0, 0xe1, 0xa6, 0x9b, 0x01, 0x9b,
  952. 0xae, 0x87, 0xbb, 0x42, 0xbe, 0x81, 0x3b, 0xcb, 0x78, 0x23, 0x0f, 0x96, 0xdb, 0xaa, 0xc1, 0x78,
  953. 0xe2, 0xde, 0xe6, 0x52, 0x04, 0x3f, 0xeb, 0xc9, 0xdf, 0x8c, 0x4f, 0xff, 0x0c, 0x00, 0x00, 0xff,
  954. 0xff, 0x04, 0x12, 0x06, 0xcd, 0x75, 0x0c, 0x00, 0x00,
  955. }