text:
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: protoc-gen-swagger/options/openapiv2.proto

package options // import "github.com/partitio/micro-gateway/protoc-gen-swagger/options"

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import any "github.com/golang/protobuf/ptypes/any"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type Swagger_SwaggerScheme int32

const (
	Swagger_UNKNOWN Swagger_SwaggerScheme = 0
	Swagger_HTTP    Swagger_SwaggerScheme = 1
	Swagger_HTTPS   Swagger_SwaggerScheme = 2
	Swagger_WS      Swagger_SwaggerScheme = 3
	Swagger_WSS     Swagger_SwaggerScheme = 4
)

var Swagger_SwaggerScheme_name = map[int32]string{
	0: "UNKNOWN",
	1: "HTTP",
	2: "HTTPS",
	3: "WS",
	4: "WSS",
}
var Swagger_SwaggerScheme_value = map[string]int32{
	"UNKNOWN": 0,
	"HTTP":    1,
	"HTTPS":   2,
	"WS":      3,
	"WSS":     4,
}

func (x Swagger_SwaggerScheme) String() string {
	return proto.EnumName(Swagger_SwaggerScheme_name, int32(x))
}
func (Swagger_SwaggerScheme) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{0, 0}
}

type JSONSchema_JSONSchemaSimpleTypes int32

const (
	JSONSchema_UNKNOWN JSONSchema_JSONSchemaSimpleTypes = 0
	JSONSchema_ARRAY   JSONSchema_JSONSchemaSimpleTypes = 1
	JSONSchema_BOOLEAN JSONSchema_JSONSchemaSimpleTypes = 2
	JSONSchema_INTEGER JSONSchema_JSONSchemaSimpleTypes = 3
	JSONSchema_NULL    JSONSchema_JSONSchemaSimpleTypes = 4
	JSONSchema_NUMBER  JSONSchema_JSONSchemaSimpleTypes = 5
	JSONSchema_OBJECT  JSONSchema_JSONSchemaSimpleTypes = 6
	JSONSchema_STRING  JSONSchema_JSONSchemaSimpleTypes = 7
)

var JSONSchema_JSONSchemaSimpleTypes_name = map[int32]string{
	0: "UNKNOWN",
	1: "ARRAY",
	2: "BOOLEAN",
	3: "INTEGER",
	4: "NULL",
	5: "NUMBER",
	6: "OBJECT",
	7: "STRING",
}
var JSONSchema_JSONSchemaSimpleTypes_value = map[string]int32{
	"UNKNOWN": 0,
	"ARRAY":   1,
	"BOOLEAN": 2,
	"INTEGER": 3,
	"NULL":    4,
	"NUMBER":  5,
	"OBJECT":  6,
	"STRING":  7,
}

func (x JSONSchema_JSONSchemaSimpleTypes) String() string {
	return proto.EnumName(JSONSchema_JSONSchemaSimpleTypes_name, int32(x))
}
func (JSONSchema_JSONSchemaSimpleTypes) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{8, 0}
}

// Required. The type of the security scheme. Valid values are "basic",
// "apiKey" or "oauth2".
type SecurityScheme_Type int32

const (
	SecurityScheme_TYPE_INVALID SecurityScheme_Type = 0
	SecurityScheme_TYPE_BASIC   SecurityScheme_Type = 1
	SecurityScheme_TYPE_API_KEY SecurityScheme_Type = 2
	SecurityScheme_TYPE_OAUTH2  SecurityScheme_Type = 3
)

var SecurityScheme_Type_name = map[int32]string{
	0: "TYPE_INVALID",
	1: "TYPE_BASIC",
	2: "TYPE_API_KEY",
	3: "TYPE_OAUTH2",
}
var SecurityScheme_Type_value = map[string]int32{
	"TYPE_INVALID": 0,
	"TYPE_BASIC":   1,
	"TYPE_API_KEY": 2,
	"TYPE_OAUTH2":  3,
}

func (x SecurityScheme_Type) String() string {
	return proto.EnumName(SecurityScheme_Type_name, int32(x))
}
func (SecurityScheme_Type) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{11, 0}
}

// Required. The location of the API key. Valid values are "query" or "header".
type SecurityScheme_In int32

const (
	SecurityScheme_IN_INVALID SecurityScheme_In = 0
	SecurityScheme_IN_QUERY   SecurityScheme_In = 1
	SecurityScheme_IN_HEADER  SecurityScheme_In = 2
)

var SecurityScheme_In_name = map[int32]string{
	0: "IN_INVALID",
	1: "IN_QUERY",
	2: "IN_HEADER",
}
var SecurityScheme_In_value = map[string]int32{
	"IN_INVALID": 0,
	"IN_QUERY":   1,
	"IN_HEADER":  2,
}

func (x SecurityScheme_In) String() string {
	return proto.EnumName(SecurityScheme_In_name, int32(x))
}
func (SecurityScheme_In) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{11, 1}
}

// Required. The flow used by the OAuth2 security scheme. Valid values are
// "implicit", "password", "application" or "accessCode".
type SecurityScheme_Flow int32

const (
	SecurityScheme_FLOW_INVALID     SecurityScheme_Flow = 0
	SecurityScheme_FLOW_IMPLICIT    SecurityScheme_Flow = 1
	SecurityScheme_FLOW_PASSWORD    SecurityScheme_Flow = 2
	SecurityScheme_FLOW_APPLICATION SecurityScheme_Flow = 3
	SecurityScheme_FLOW_ACCESS_CODE SecurityScheme_Flow = 4
)

var SecurityScheme_Flow_name = map[int32]string{
	0: "FLOW_INVALID",
	1: "FLOW_IMPLICIT",
	2: "FLOW_PASSWORD",
	3: "FLOW_APPLICATION",
	4: "FLOW_ACCESS_CODE",
}
var SecurityScheme_Flow_value = map[string]int32{
	"FLOW_INVALID":     0,
	"FLOW_IMPLICIT":    1,
	"FLOW_PASSWORD":    2,
	"FLOW_APPLICATION": 3,
	"FLOW_ACCESS_CODE": 4,
}

func (x SecurityScheme_Flow) String() string {
	return proto.EnumName(SecurityScheme_Flow_name, int32(x))
}
func (SecurityScheme_Flow) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{11, 2}
}

// `Swagger` is a representation of OpenAPI v2 specification's Swagger object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#swaggerObject
//
// TODO(ivucica): document fields
type Swagger struct {
	Swagger              string                  `protobuf:"bytes,1,opt,name=swagger,proto3" json:"swagger,omitempty"`
	Info                 *Info                   `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"`
	Host                 string                  `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	BasePath             string                  `protobuf:"bytes,4,opt,name=base_path,json=basePath,proto3" json:"base_path,omitempty"`
	Schemes              []Swagger_SwaggerScheme `protobuf:"varint,5,rep,packed,name=schemes,proto3,enum=grpc.gateway.protoc_gen_swagger.options.Swagger_SwaggerScheme" json:"schemes,omitempty"`
	Consumes             []string                `protobuf:"bytes,6,rep,name=consumes,proto3" json:"consumes,omitempty"`
	Produces             []string                `protobuf:"bytes,7,rep,name=produces,proto3" json:"produces,omitempty"`
	Responses            map[string]*Response    `protobuf:"bytes,10,rep,name=responses,proto3" json:"responses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	SecurityDefinitions  *SecurityDefinitions    `protobuf:"bytes,11,opt,name=security_definitions,json=securityDefinitions,proto3" json:"security_definitions,omitempty"`
	Security             []*SecurityRequirement  `protobuf:"bytes,12,rep,name=security,proto3" json:"security,omitempty"`
	ExternalDocs         *ExternalDocumentation  `protobuf:"bytes,14,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *Swagger) Reset()         { *m = Swagger{} }
func (m *Swagger) String() string { return proto.CompactTextString(m) }
func (*Swagger) ProtoMessage()    {}
func (*Swagger) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{0}
}
func (m *Swagger) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Swagger.Unmarshal(m, b)
}
func (m *Swagger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Swagger.Marshal(b, m, deterministic)
}
func (dst *Swagger) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Swagger.Merge(dst, src)
}
func (m *Swagger) XXX_Size() int {
	return xxx_messageInfo_Swagger.Size(m)
}
func (m *Swagger) XXX_DiscardUnknown() {
	xxx_messageInfo_Swagger.DiscardUnknown(m)
}

var xxx_messageInfo_Swagger proto.InternalMessageInfo

func (m *Swagger) GetSwagger() string {
	if m != nil {
		return m.Swagger
	}
	return ""
}

func (m *Swagger) GetInfo() *Info {
	if m != nil {
		return m.Info
	}
	return nil
}

func (m *Swagger) GetHost() string {
	if m != nil {
		return m.Host
	}
	return ""
}

func (m *Swagger) GetBasePath() string {
	if m != nil {
		return m.BasePath
	}
	return ""
}

func (m *Swagger) GetSchemes() []Swagger_SwaggerScheme {
	if m != nil {
		return m.Schemes
	}
	return nil
}

func (m *Swagger) GetConsumes() []string {
	if m != nil {
		return m.Consumes
	}
	return nil
}

func (m *Swagger) GetProduces() []string {
	if m != nil {
		return m.Produces
	}
	return nil
}

func (m *Swagger) GetResponses() map[string]*Response {
	if m != nil {
		return m.Responses
	}
	return nil
}

func (m *Swagger) GetSecurityDefinitions() *SecurityDefinitions {
	if m != nil {
		return m.SecurityDefinitions
	}
	return nil
}

func (m *Swagger) GetSecurity() []*SecurityRequirement {
	if m != nil {
		return m.Security
	}
	return nil
}

func (m *Swagger) GetExternalDocs() *ExternalDocumentation {
	if m != nil {
		return m.ExternalDocs
	}
	return nil
}

// `Operation` is a representation of OpenAPI v2 specification's Operation object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#operationObject
//
// TODO(ivucica): document fields
type Operation struct {
	Tags                 []string               `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
	Summary              string                 `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
	Description          string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	ExternalDocs         *ExternalDocumentation `protobuf:"bytes,4,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	OperationId          string                 `protobuf:"bytes,5,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
	Consumes             []string               `protobuf:"bytes,6,rep,name=consumes,proto3" json:"consumes,omitempty"`
	Produces             []string               `protobuf:"bytes,7,rep,name=produces,proto3" json:"produces,omitempty"`
	Responses            map[string]*Response   `protobuf:"bytes,9,rep,name=responses,proto3" json:"responses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	Schemes              []string               `protobuf:"bytes,10,rep,name=schemes,proto3" json:"schemes,omitempty"`
	Deprecated           bool                   `protobuf:"varint,11,opt,name=deprecated,proto3" json:"deprecated,omitempty"`
	Security             []*SecurityRequirement `protobuf:"bytes,12,rep,name=security,proto3" json:"security,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *Operation) Reset()         { *m = Operation{} }
func (m *Operation) String() string { return proto.CompactTextString(m) }
func (*Operation) ProtoMessage()    {}
func (*Operation) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{1}
}
func (m *Operation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Operation.Unmarshal(m, b)
}
func (m *Operation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Operation.Marshal(b, m, deterministic)
}
func (dst *Operation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Operation.Merge(dst, src)
}
func (m *Operation) XXX_Size() int {
	return xxx_messageInfo_Operation.Size(m)
}
func (m *Operation) XXX_DiscardUnknown() {
	xxx_messageInfo_Operation.DiscardUnknown(m)
}

var xxx_messageInfo_Operation proto.InternalMessageInfo

func (m *Operation) GetTags() []string {
	if m != nil {
		return m.Tags
	}
	return nil
}

func (m *Operation) GetSummary() string {
	if m != nil {
		return m.Summary
	}
	return ""
}

func (m *Operation) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Operation) GetExternalDocs() *ExternalDocumentation {
	if m != nil {
		return m.ExternalDocs
	}
	return nil
}

func (m *Operation) GetOperationId() string {
	if m != nil {
		return m.OperationId
	}
	return ""
}

func (m *Operation) GetConsumes() []string {
	if m != nil {
		return m.Consumes
	}
	return nil
}

func (m *Operation) GetProduces() []string {
	if m != nil {
		return m.Produces
	}
	return nil
}

func (m *Operation) GetResponses() map[string]*Response {
	if m != nil {
		return m.Responses
	}
	return nil
}

func (m *Operation) GetSchemes() []string {
	if m != nil {
		return m.Schemes
	}
	return nil
}

func (m *Operation) GetDeprecated() bool {
	if m != nil {
		return m.Deprecated
	}
	return false
}

func (m *Operation) GetSecurity() []*SecurityRequirement {
	if m != nil {
		return m.Security
	}
	return nil
}

// `Response` is a representation of OpenAPI v2 specification's Response object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#responseObject
//
type Response struct {
	// `Description` is a short description of the response.
	// GFM syntax can be used for rich text representation.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// `Schema` optionally defines the structure of the response.
	// If `Schema` is not provided, it means there is no content to the response.
	Schema               *Schema  `protobuf:"bytes,2,opt,name=schema,proto3" json:"schema,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Response) Reset()         { *m = Response{} }
func (m *Response) String() string { return proto.CompactTextString(m) }
func (*Response) ProtoMessage()    {}
func (*Response) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{2}
}
func (m *Response) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Response.Unmarshal(m, b)
}
func (m *Response) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Response.Marshal(b, m, deterministic)
}
func (dst *Response) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Response.Merge(dst, src)
}
func (m *Response) XXX_Size() int {
	return xxx_messageInfo_Response.Size(m)
}
func (m *Response) XXX_DiscardUnknown() {
	xxx_messageInfo_Response.DiscardUnknown(m)
}

var xxx_messageInfo_Response proto.InternalMessageInfo

func (m *Response) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Response) GetSchema() *Schema {
	if m != nil {
		return m.Schema
	}
	return nil
}

// `Info` is a representation of OpenAPI v2 specification's Info object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#infoObject
//
// TODO(ivucica): document fields
type Info struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Description          string   `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	TermsOfService       string   `protobuf:"bytes,3,opt,name=terms_of_service,json=termsOfService,proto3" json:"terms_of_service,omitempty"`
	Contact              *Contact `protobuf:"bytes,4,opt,name=contact,proto3" json:"contact,omitempty"`
	License              *License `protobuf:"bytes,5,opt,name=license,proto3" json:"license,omitempty"`
	Version              string   `protobuf:"bytes,6,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Info) Reset()         { *m = Info{} }
func (m *Info) String() string { return proto.CompactTextString(m) }
func (*Info) ProtoMessage()    {}
func (*Info) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{3}
}
func (m *Info) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Info.Unmarshal(m, b)
}
func (m *Info) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Info.Marshal(b, m, deterministic)
}
func (dst *Info) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Info.Merge(dst, src)
}
func (m *Info) XXX_Size() int {
	return xxx_messageInfo_Info.Size(m)
}
func (m *Info) XXX_DiscardUnknown() {
	xxx_messageInfo_Info.DiscardUnknown(m)
}

var xxx_messageInfo_Info proto.InternalMessageInfo

func (m *Info) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *Info) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Info) GetTermsOfService() string {
	if m != nil {
		return m.TermsOfService
	}
	return ""
}

func (m *Info) GetContact() *Contact {
	if m != nil {
		return m.Contact
	}
	return nil
}

func (m *Info) GetLicense() *License {
	if m != nil {
		return m.License
	}
	return nil
}

func (m *Info) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

// `Contact` is a representation of OpenAPI v2 specification's Contact object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#contactObject
//
// TODO(ivucica): document fields
type Contact struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Url                  string   `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	Email                string   `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Contact) Reset()         { *m = Contact{} }
func (m *Contact) String() string { return proto.CompactTextString(m) }
func (*Contact) ProtoMessage()    {}
func (*Contact) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{4}
}
func (m *Contact) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Contact.Unmarshal(m, b)
}
func (m *Contact) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Contact.Marshal(b, m, deterministic)
}
func (dst *Contact) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Contact.Merge(dst, src)
}
func (m *Contact) XXX_Size() int {
	return xxx_messageInfo_Contact.Size(m)
}
func (m *Contact) XXX_DiscardUnknown() {
	xxx_messageInfo_Contact.DiscardUnknown(m)
}

var xxx_messageInfo_Contact proto.InternalMessageInfo

func (m *Contact) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Contact) GetUrl() string {
	if m != nil {
		return m.Url
	}
	return ""
}

func (m *Contact) GetEmail() string {
	if m != nil {
		return m.Email
	}
	return ""
}

// `License` is a representation of OpenAPI v2 specification's License object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#licenseObject
//
type License struct {
	// Required. The license name used for the API.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A URL to the license used for the API.
	Url                  string   `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *License) Reset()         { *m = License{} }
func (m *License) String() string { return proto.CompactTextString(m) }
func (*License) ProtoMessage()    {}
func (*License) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{5}
}
func (m *License) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_License.Unmarshal(m, b)
}
func (m *License) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_License.Marshal(b, m, deterministic)
}
func (dst *License) XXX_Merge(src proto.Message) {
	xxx_messageInfo_License.Merge(dst, src)
}
func (m *License) XXX_Size() int {
	return xxx_messageInfo_License.Size(m)
}
func (m *License) XXX_DiscardUnknown() {
	xxx_messageInfo_License.DiscardUnknown(m)
}

var xxx_messageInfo_License proto.InternalMessageInfo

func (m *License) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *License) GetUrl() string {
	if m != nil {
		return m.Url
	}
	return ""
}

// `ExternalDocumentation` is a representation of OpenAPI v2 specification's
// ExternalDocumentation object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#externalDocumentationObject
//
// TODO(ivucica): document fields
type ExternalDocumentation struct {
	Description          string   `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	Url                  string   `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ExternalDocumentation) Reset()         { *m = ExternalDocumentation{} }
func (m *ExternalDocumentation) String() string { return proto.CompactTextString(m) }
func (*ExternalDocumentation) ProtoMessage()    {}
func (*ExternalDocumentation) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{6}
}
func (m *ExternalDocumentation) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ExternalDocumentation.Unmarshal(m, b)
}
func (m *ExternalDocumentation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ExternalDocumentation.Marshal(b, m, deterministic)
}
func (dst *ExternalDocumentation) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ExternalDocumentation.Merge(dst, src)
}
func (m *ExternalDocumentation) XXX_Size() int {
	return xxx_messageInfo_ExternalDocumentation.Size(m)
}
func (m *ExternalDocumentation) XXX_DiscardUnknown() {
	xxx_messageInfo_ExternalDocumentation.DiscardUnknown(m)
}

var xxx_messageInfo_ExternalDocumentation proto.InternalMessageInfo

func (m *ExternalDocumentation) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *ExternalDocumentation) GetUrl() string {
	if m != nil {
		return m.Url
	}
	return ""
}

// `Schema` is a representation of OpenAPI v2 specification's Schema object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject
//
// TODO(ivucica): document fields
type Schema struct {
	JsonSchema           *JSONSchema            `protobuf:"bytes,1,opt,name=json_schema,json=jsonSchema,proto3" json:"json_schema,omitempty"`
	Discriminator        string                 `protobuf:"bytes,2,opt,name=discriminator,proto3" json:"discriminator,omitempty"`
	ReadOnly             bool                   `protobuf:"varint,3,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	ExternalDocs         *ExternalDocumentation `protobuf:"bytes,5,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	Example              *any.Any               `protobuf:"bytes,6,opt,name=example,proto3" json:"example,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *Schema) Reset()         { *m = Schema{} }
func (m *Schema) String() string { return proto.CompactTextString(m) }
func (*Schema) ProtoMessage()    {}
func (*Schema) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{7}
}
func (m *Schema) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Schema.Unmarshal(m, b)
}
func (m *Schema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Schema.Marshal(b, m, deterministic)
}
func (dst *Schema) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Schema.Merge(dst, src)
}
func (m *Schema) XXX_Size() int {
	return xxx_messageInfo_Schema.Size(m)
}
func (m *Schema) XXX_DiscardUnknown() {
	xxx_messageInfo_Schema.DiscardUnknown(m)
}

var xxx_messageInfo_Schema proto.InternalMessageInfo

func (m *Schema) GetJsonSchema() *JSONSchema {
	if m != nil {
		return m.JsonSchema
	}
	return nil
}

func (m *Schema) GetDiscriminator() string {
	if m != nil {
		return m.Discriminator
	}
	return ""
}

func (m *Schema) GetReadOnly() bool {
	if m != nil {
		return m.ReadOnly
	}
	return false
}

func (m *Schema) GetExternalDocs() *ExternalDocumentation {
	if m != nil {
		return m.ExternalDocs
	}
	return nil
}

func (m *Schema) GetExample() *any.Any {
	if m != nil {
		return m.Example
	}
	return nil
}

// `JSONSchema` represents properties from JSON Schema taken, and as used, in
// the OpenAPI v2 spec.
//
// This includes changes made by OpenAPI v2.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#schemaObject
//
// See also: https://cswr.github.io/JsonSchema/spec/basic_types/,
// https://github.com/json-schema-org/json-schema-spec/blob/master/schema.json
//
// TODO(ivucica): document fields
type JSONSchema struct {
	// Ref is used to define an external reference to include in the message.
	// This could be a fully qualified proto message reference, and that type must be imported
	// into the protofile. If no message is identified, the Ref will be used verbatim in
	// the output.
	// For example:
	//  `ref: ".google.protobuf.Timestamp"`.
	Ref              string   `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
	Title            string   `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	Description      string   `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	Default          string   `protobuf:"bytes,7,opt,name=default,proto3" json:"default,omitempty"`
	ReadOnly         bool     `protobuf:"varint,8,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
	MultipleOf       float64  `protobuf:"fixed64,10,opt,name=multiple_of,json=multipleOf,proto3" json:"multiple_of,omitempty"`
	Maximum          float64  `protobuf:"fixed64,11,opt,name=maximum,proto3" json:"maximum,omitempty"`
	ExclusiveMaximum bool     `protobuf:"varint,12,opt,name=exclusive_maximum,json=exclusiveMaximum,proto3" json:"exclusive_maximum,omitempty"`
	Minimum          float64  `protobuf:"fixed64,13,opt,name=minimum,proto3" json:"minimum,omitempty"`
	ExclusiveMinimum bool     `protobuf:"varint,14,opt,name=exclusive_minimum,json=exclusiveMinimum,proto3" json:"exclusive_minimum,omitempty"`
	MaxLength        uint64   `protobuf:"varint,15,opt,name=max_length,json=maxLength,proto3" json:"max_length,omitempty"`
	MinLength        uint64   `protobuf:"varint,16,opt,name=min_length,json=minLength,proto3" json:"min_length,omitempty"`
	Pattern          string   `protobuf:"bytes,17,opt,name=pattern,proto3" json:"pattern,omitempty"`
	MaxItems         uint64   `protobuf:"varint,20,opt,name=max_items,json=maxItems,proto3" json:"max_items,omitempty"`
	MinItems         uint64   `protobuf:"varint,21,opt,name=min_items,json=minItems,proto3" json:"min_items,omitempty"`
	UniqueItems      bool     `protobuf:"varint,22,opt,name=unique_items,json=uniqueItems,proto3" json:"unique_items,omitempty"`
	MaxProperties    uint64   `protobuf:"varint,24,opt,name=max_properties,json=maxProperties,proto3" json:"max_properties,omitempty"`
	MinProperties    uint64   `protobuf:"varint,25,opt,name=min_properties,json=minProperties,proto3" json:"min_properties,omitempty"`
	Required         []string `protobuf:"bytes,26,rep,name=required,proto3" json:"required,omitempty"`
	// Items in 'array' must be unique.
	Array                []string                           `protobuf:"bytes,34,rep,name=array,proto3" json:"array,omitempty"`
	Type                 []JSONSchema_JSONSchemaSimpleTypes `protobuf:"varint,35,rep,packed,name=type,proto3,enum=grpc.gateway.protoc_gen_swagger.options.JSONSchema_JSONSchemaSimpleTypes" json:"type,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                           `json:"-"`
	XXX_unrecognized     []byte                             `json:"-"`
	XXX_sizecache        int32                              `json:"-"`
}

func (m *JSONSchema) Reset()         { *m = JSONSchema{} }
func (m *JSONSchema) String() string { return proto.CompactTextString(m) }
func (*JSONSchema) ProtoMessage()    {}
func (*JSONSchema) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{8}
}
func (m *JSONSchema) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_JSONSchema.Unmarshal(m, b)
}
func (m *JSONSchema) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_JSONSchema.Marshal(b, m, deterministic)
}
func (dst *JSONSchema) XXX_Merge(src proto.Message) {
	xxx_messageInfo_JSONSchema.Merge(dst, src)
}
func (m *JSONSchema) XXX_Size() int {
	return xxx_messageInfo_JSONSchema.Size(m)
}
func (m *JSONSchema) XXX_DiscardUnknown() {
	xxx_messageInfo_JSONSchema.DiscardUnknown(m)
}

var xxx_messageInfo_JSONSchema proto.InternalMessageInfo

func (m *JSONSchema) GetRef() string {
	if m != nil {
		return m.Ref
	}
	return ""
}

func (m *JSONSchema) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *JSONSchema) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *JSONSchema) GetDefault() string {
	if m != nil {
		return m.Default
	}
	return ""
}

func (m *JSONSchema) GetReadOnly() bool {
	if m != nil {
		return m.ReadOnly
	}
	return false
}

func (m *JSONSchema) GetMultipleOf() float64 {
	if m != nil {
		return m.MultipleOf
	}
	return 0
}

func (m *JSONSchema) GetMaximum() float64 {
	if m != nil {
		return m.Maximum
	}
	return 0
}

func (m *JSONSchema) GetExclusiveMaximum() bool {
	if m != nil {
		return m.ExclusiveMaximum
	}
	return false
}

func (m *JSONSchema) GetMinimum() float64 {
	if m != nil {
		return m.Minimum
	}
	return 0
}

func (m *JSONSchema) GetExclusiveMinimum() bool {
	if m != nil {
		return m.ExclusiveMinimum
	}
	return false
}

func (m *JSONSchema) GetMaxLength() uint64 {
	if m != nil {
		return m.MaxLength
	}
	return 0
}

func (m *JSONSchema) GetMinLength() uint64 {
	if m != nil {
		return m.MinLength
	}
	return 0
}

func (m *JSONSchema) GetPattern() string {
	if m != nil {
		return m.Pattern
	}
	return ""
}

func (m *JSONSchema) GetMaxItems() uint64 {
	if m != nil {
		return m.MaxItems
	}
	return 0
}

func (m *JSONSchema) GetMinItems() uint64 {
	if m != nil {
		return m.MinItems
	}
	return 0
}

func (m *JSONSchema) GetUniqueItems() bool {
	if m != nil {
		return m.UniqueItems
	}
	return false
}

func (m *JSONSchema) GetMaxProperties() uint64 {
	if m != nil {
		return m.MaxProperties
	}
	return 0
}

func (m *JSONSchema) GetMinProperties() uint64 {
	if m != nil {
		return m.MinProperties
	}
	return 0
}

func (m *JSONSchema) GetRequired() []string {
	if m != nil {
		return m.Required
	}
	return nil
}

func (m *JSONSchema) GetArray() []string {
	if m != nil {
		return m.Array
	}
	return nil
}

func (m *JSONSchema) GetType() []JSONSchema_JSONSchemaSimpleTypes {
	if m != nil {
		return m.Type
	}
	return nil
}

// `Tag` is a representation of OpenAPI v2 specification's Tag object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#tagObject
//
// TODO(ivucica): document fields
type Tag struct {
	// TODO(ivucica): Description should be extracted from comments on the proto
	// service object.
	Description          string                 `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	ExternalDocs         *ExternalDocumentation `protobuf:"bytes,3,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *Tag) Reset()         { *m = Tag{} }
func (m *Tag) String() string { return proto.CompactTextString(m) }
func (*Tag) ProtoMessage()    {}
func (*Tag) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{9}
}
func (m *Tag) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Tag.Unmarshal(m, b)
}
func (m *Tag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Tag.Marshal(b, m, deterministic)
}
func (dst *Tag) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Tag.Merge(dst, src)
}
func (m *Tag) XXX_Size() int {
	return xxx_messageInfo_Tag.Size(m)
}
func (m *Tag) XXX_DiscardUnknown() {
	xxx_messageInfo_Tag.DiscardUnknown(m)
}

var xxx_messageInfo_Tag proto.InternalMessageInfo

func (m *Tag) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *Tag) GetExternalDocs() *ExternalDocumentation {
	if m != nil {
		return m.ExternalDocs
	}
	return nil
}

// `SecurityDefinitions` is a representation of OpenAPI v2 specification's
// Security Definitions object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityDefinitionsObject
//
// A declaration of the security schemes available to be used in the
// specification. This does not enforce the security schemes on the operations
// and only serves to provide the relevant details for each scheme.
type SecurityDefinitions struct {
	// A single security scheme definition, mapping a "name" to the scheme it defines.
	Security             map[string]*SecurityScheme `protobuf:"bytes,1,rep,name=security,proto3" json:"security,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

func (m *SecurityDefinitions) Reset()         { *m = SecurityDefinitions{} }
func (m *SecurityDefinitions) String() string { return proto.CompactTextString(m) }
func (*SecurityDefinitions) ProtoMessage()    {}
func (*SecurityDefinitions) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{10}
}
func (m *SecurityDefinitions) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SecurityDefinitions.Unmarshal(m, b)
}
func (m *SecurityDefinitions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SecurityDefinitions.Marshal(b, m, deterministic)
}
func (dst *SecurityDefinitions) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SecurityDefinitions.Merge(dst, src)
}
func (m *SecurityDefinitions) XXX_Size() int {
	return xxx_messageInfo_SecurityDefinitions.Size(m)
}
func (m *SecurityDefinitions) XXX_DiscardUnknown() {
	xxx_messageInfo_SecurityDefinitions.DiscardUnknown(m)
}

var xxx_messageInfo_SecurityDefinitions proto.InternalMessageInfo

func (m *SecurityDefinitions) GetSecurity() map[string]*SecurityScheme {
	if m != nil {
		return m.Security
	}
	return nil
}

// `SecurityScheme` is a representation of OpenAPI v2 specification's
// Security Scheme object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securitySchemeObject
//
// Allows the definition of a security scheme that can be used by the
// operations. Supported schemes are basic authentication, an API key (either as
// a header or as a query parameter) and OAuth2's common flows (implicit,
// password, application and access code).
type SecurityScheme struct {
	// Required. The type of the security scheme. Valid values are "basic",
	// "apiKey" or "oauth2".
	Type SecurityScheme_Type `protobuf:"varint,1,opt,name=type,proto3,enum=grpc.gateway.protoc_gen_swagger.options.SecurityScheme_Type" json:"type,omitempty"`
	// A short description for security scheme.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Required. The name of the header or query parameter to be used.
	//
	// Valid for apiKey.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The location of the API key. Valid values are "query" or "header".
	//
	// Valid for apiKey.
	In SecurityScheme_In `protobuf:"varint,4,opt,name=in,proto3,enum=grpc.gateway.protoc_gen_swagger.options.SecurityScheme_In" json:"in,omitempty"`
	// Required. The flow used by the OAuth2 security scheme. Valid values are
	// "implicit", "password", "application" or "accessCode".
	//
	// Valid for oauth2.
	Flow SecurityScheme_Flow `protobuf:"varint,5,opt,name=flow,proto3,enum=grpc.gateway.protoc_gen_swagger.options.SecurityScheme_Flow" json:"flow,omitempty"`
	// Required. The authorization URL to be used for this flow. This SHOULD be in
	// the form of a URL.
	//
	// Valid for oauth2/implicit and oauth2/accessCode.
	AuthorizationUrl string `protobuf:"bytes,6,opt,name=authorization_url,json=authorizationUrl,proto3" json:"authorization_url,omitempty"`
	// Required. The token URL to be used for this flow. This SHOULD be in the
	// form of a URL.
	//
	// Valid for oauth2/password, oauth2/application and oauth2/accessCode.
	TokenUrl string `protobuf:"bytes,7,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"`
	// Required. The available scopes for the OAuth2 security scheme.
	//
	// Valid for oauth2.
	Scopes               *Scopes  `protobuf:"bytes,8,opt,name=scopes,proto3" json:"scopes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SecurityScheme) Reset()         { *m = SecurityScheme{} }
func (m *SecurityScheme) String() string { return proto.CompactTextString(m) }
func (*SecurityScheme) ProtoMessage()    {}
func (*SecurityScheme) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{11}
}
func (m *SecurityScheme) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SecurityScheme.Unmarshal(m, b)
}
func (m *SecurityScheme) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SecurityScheme.Marshal(b, m, deterministic)
}
func (dst *SecurityScheme) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SecurityScheme.Merge(dst, src)
}
func (m *SecurityScheme) XXX_Size() int {
	return xxx_messageInfo_SecurityScheme.Size(m)
}
func (m *SecurityScheme) XXX_DiscardUnknown() {
	xxx_messageInfo_SecurityScheme.DiscardUnknown(m)
}

var xxx_messageInfo_SecurityScheme proto.InternalMessageInfo

func (m *SecurityScheme) GetType() SecurityScheme_Type {
	if m != nil {
		return m.Type
	}
	return SecurityScheme_TYPE_INVALID
}

func (m *SecurityScheme) GetDescription() string {
	if m != nil {
		return m.Description
	}
	return ""
}

func (m *SecurityScheme) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *SecurityScheme) GetIn() SecurityScheme_In {
	if m != nil {
		return m.In
	}
	return SecurityScheme_IN_INVALID
}

func (m *SecurityScheme) GetFlow() SecurityScheme_Flow {
	if m != nil {
		return m.Flow
	}
	return SecurityScheme_FLOW_INVALID
}

func (m *SecurityScheme) GetAuthorizationUrl() string {
	if m != nil {
		return m.AuthorizationUrl
	}
	return ""
}

func (m *SecurityScheme) GetTokenUrl() string {
	if m != nil {
		return m.TokenUrl
	}
	return ""
}

func (m *SecurityScheme) GetScopes() *Scopes {
	if m != nil {
		return m.Scopes
	}
	return nil
}

// `SecurityRequirement` is a representation of OpenAPI v2 specification's
// Security Requirement object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#securityRequirementObject
//
// Lists the required security schemes to execute this operation. The object can
// have multiple security schemes declared in it which are all required (that
// is, there is a logical AND between the schemes).
//
// The name used for each property MUST correspond to a security scheme
// declared in the Security Definitions.
type SecurityRequirement struct {
	// Each name must correspond to a security scheme which is declared in
	// the Security Definitions. If the security scheme is of type "oauth2",
	// then the value is a list of scope names required for the execution.
	// For other security scheme types, the array MUST be empty.
	SecurityRequirement  map[string]*SecurityRequirement_SecurityRequirementValue `protobuf:"bytes,1,rep,name=security_requirement,json=securityRequirement,proto3" json:"security_requirement,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}                                                 `json:"-"`
	XXX_unrecognized     []byte                                                   `json:"-"`
	XXX_sizecache        int32                                                    `json:"-"`
}

func (m *SecurityRequirement) Reset()         { *m = SecurityRequirement{} }
func (m *SecurityRequirement) String() string { return proto.CompactTextString(m) }
func (*SecurityRequirement) ProtoMessage()    {}
func (*SecurityRequirement) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{12}
}
func (m *SecurityRequirement) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SecurityRequirement.Unmarshal(m, b)
}
func (m *SecurityRequirement) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SecurityRequirement.Marshal(b, m, deterministic)
}
func (dst *SecurityRequirement) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SecurityRequirement.Merge(dst, src)
}
func (m *SecurityRequirement) XXX_Size() int {
	return xxx_messageInfo_SecurityRequirement.Size(m)
}
func (m *SecurityRequirement) XXX_DiscardUnknown() {
	xxx_messageInfo_SecurityRequirement.DiscardUnknown(m)
}

var xxx_messageInfo_SecurityRequirement proto.InternalMessageInfo

func (m *SecurityRequirement) GetSecurityRequirement() map[string]*SecurityRequirement_SecurityRequirementValue {
	if m != nil {
		return m.SecurityRequirement
	}
	return nil
}

// If the security scheme is of type "oauth2", then the value is a list of
// scope names required for the execution. For other security scheme types,
// the array MUST be empty.
type SecurityRequirement_SecurityRequirementValue struct {
	Scope                []string `protobuf:"bytes,1,rep,name=scope,proto3" json:"scope,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SecurityRequirement_SecurityRequirementValue) Reset() {
	*m = SecurityRequirement_SecurityRequirementValue{}
}
func (m *SecurityRequirement_SecurityRequirementValue) String() string {
	return proto.CompactTextString(m)
}
func (*SecurityRequirement_SecurityRequirementValue) ProtoMessage() {}
func (*SecurityRequirement_SecurityRequirementValue) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{12, 0}
}
func (m *SecurityRequirement_SecurityRequirementValue) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SecurityRequirement_SecurityRequirementValue.Unmarshal(m, b)
}
func (m *SecurityRequirement_SecurityRequirementValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SecurityRequirement_SecurityRequirementValue.Marshal(b, m, deterministic)
}
func (dst *SecurityRequirement_SecurityRequirementValue) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SecurityRequirement_SecurityRequirementValue.Merge(dst, src)
}
func (m *SecurityRequirement_SecurityRequirementValue) XXX_Size() int {
	return xxx_messageInfo_SecurityRequirement_SecurityRequirementValue.Size(m)
}
func (m *SecurityRequirement_SecurityRequirementValue) XXX_DiscardUnknown() {
	xxx_messageInfo_SecurityRequirement_SecurityRequirementValue.DiscardUnknown(m)
}

var xxx_messageInfo_SecurityRequirement_SecurityRequirementValue proto.InternalMessageInfo

func (m *SecurityRequirement_SecurityRequirementValue) GetScope() []string {
	if m != nil {
		return m.Scope
	}
	return nil
}

// `Scopes` is a representation of OpenAPI v2 specification's Scopes object.
//
// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#scopesObject
//
// Lists the available scopes for an OAuth2 security scheme.
type Scopes struct {
	// Maps between a name of a scope to a short description of it (as the value
	// of the property).
	Scope                map[string]string `protobuf:"bytes,1,rep,name=scope,proto3" json:"scope,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *Scopes) Reset()         { *m = Scopes{} }
func (m *Scopes) String() string { return proto.CompactTextString(m) }
func (*Scopes) ProtoMessage()    {}
func (*Scopes) Descriptor() ([]byte, []int) {
	return fileDescriptor_openapiv2_56b45e0f3f2be645, []int{13}
}
func (m *Scopes) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Scopes.Unmarshal(m, b)
}
func (m *Scopes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Scopes.Marshal(b, m, deterministic)
}
func (dst *Scopes) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Scopes.Merge(dst, src)
}
func (m *Scopes) XXX_Size() int {
	return xxx_messageInfo_Scopes.Size(m)
}
func (m *Scopes) XXX_DiscardUnknown() {
	xxx_messageInfo_Scopes.DiscardUnknown(m)
}

var xxx_messageInfo_Scopes proto.InternalMessageInfo

func (m *Scopes) GetScope() map[string]string {
	if m != nil {
		return m.Scope
	}
	return nil
}

func init() {
	proto.RegisterType((*Swagger)(nil), "grpc.gateway.protoc_gen_swagger.options.Swagger")
	proto.RegisterMapType((map[string]*Response)(nil), "grpc.gateway.protoc_gen_swagger.options.Swagger.ResponsesEntry")
	proto.RegisterType((*Operation)(nil), "grpc.gateway.protoc_gen_swagger.options.Operation")
	proto.RegisterMapType((map[string]*Response)(nil), "grpc.gateway.protoc_gen_swagger.options.Operation.ResponsesEntry")
	proto.RegisterType((*Response)(nil), "grpc.gateway.protoc_gen_swagger.options.Response")
	proto.RegisterType((*Info)(nil), "grpc.gateway.protoc_gen_swagger.options.Info")
	proto.RegisterType((*Contact)(nil), "grpc.gateway.protoc_gen_swagger.options.Contact")
	proto.RegisterType((*License)(nil), "grpc.gateway.protoc_gen_swagger.options.License")
	proto.RegisterType((*ExternalDocumentation)(nil), "grpc.gateway.protoc_gen_swagger.options.ExternalDocumentation")
	proto.RegisterType((*Schema)(nil), "grpc.gateway.protoc_gen_swagger.options.Schema")
	proto.RegisterType((*JSONSchema)(nil), "grpc.gateway.protoc_gen_swagger.options.JSONSchema")
	proto.RegisterType((*Tag)(nil), "grpc.gateway.protoc_gen_swagger.options.Tag")
	proto.RegisterType((*SecurityDefinitions)(nil), "grpc.gateway.protoc_gen_swagger.options.SecurityDefinitions")
	proto.RegisterMapType((map[string]*SecurityScheme)(nil), "grpc.gateway.protoc_gen_swagger.options.SecurityDefinitions.SecurityEntry")
	proto.RegisterType((*SecurityScheme)(nil), "grpc.gateway.protoc_gen_swagger.options.SecurityScheme")
	proto.RegisterType((*SecurityRequirement)(nil), "grpc.gateway.protoc_gen_swagger.options.SecurityRequirement")
	proto.RegisterMapType((map[string]*SecurityRequirement_SecurityRequirementValue)(nil), "grpc.gateway.protoc_gen_swagger.options.SecurityRequirement.SecurityRequirementEntry")
	proto.RegisterType((*SecurityRequirement_SecurityRequirementValue)(nil), "grpc.gateway.protoc_gen_swagger.options.SecurityRequirement.SecurityRequirementValue")
	proto.RegisterType((*Scopes)(nil), "grpc.gateway.protoc_gen_swagger.options.Scopes")
	proto.RegisterMapType((map[string]string)(nil), "grpc.gateway.protoc_gen_swagger.options.Scopes.ScopeEntry")
	proto.RegisterEnum("grpc.gateway.protoc_gen_swagger.options.Swagger_SwaggerScheme", Swagger_SwaggerScheme_name, Swagger_SwaggerScheme_value)
	proto.RegisterEnum("grpc.gateway.protoc_gen_swagger.options.JSONSchema_JSONSchemaSimpleTypes", JSONSchema_JSONSchemaSimpleTypes_name, JSONSchema_JSONSchemaSimpleTypes_value)
	proto.RegisterEnum("grpc.gateway.protoc_gen_swagger.options.SecurityScheme_Type", SecurityScheme_Type_name, SecurityScheme_Type_value)
	proto.RegisterEnum("grpc.gateway.protoc_gen_swagger.options.SecurityScheme_In", SecurityScheme_In_name, SecurityScheme_In_value)
	proto.RegisterEnum("grpc.gateway.protoc_gen_swagger.options.SecurityScheme_Flow", SecurityScheme_Flow_name, SecurityScheme_Flow_value)
}

func init() {
	proto.RegisterFile("protoc-gen-swagger/options/openapiv2.proto", fileDescriptor_openapiv2_56b45e0f3f2be645)
}

var fileDescriptor_openapiv2_56b45e0f3f2be645 = []byte{
	// 1779 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x5f, 0x73, 0xdb, 0xc6,
	0x11, 0x0f, 0x48, 0x90, 0x04, 0x97, 0x12, 0x73, 0x3e, 0xcb, 0x2d, 0xa2, 0xc4, 0xae, 0xc2, 0xa6,
	0x53, 0x8d, 0x3d, 0x26, 0x13, 0xe5, 0xa1, 0x99, 0x4c, 0x26, 0x1d, 0x4a, 0x62, 0x6c, 0xc0, 0x32,
	0xc9, 0x82, 0x54, 0x14, 0x77, 0x26, 0x83, 0x81, 0xc1, 0x23, 0x85, 0x18, 0x38, 0x20, 0xf8, 0x23,
	0x89, 0x7d, 0xeb, 0x53, 0xfb, 0xdc, 0xe9, 0x53, 0x67, 0xf2, 0x31, 0xfa, 0xd6, 0x4f, 0xd5, 0x7e,
	0x80, 0x76, 0xee, 0x0f, 0x48, 0x50, 0x62, 0x32, 0x94, 0xed, 0xf4, 0x89, 0xb7, 0xff, 0x7e, 0x77,
	0xbb, 0xb7, 0xbb, 0xb7, 0x20, 0x3c, 0x8c, 0xe2, 0x30, 0x0d, 0xdd, 0xc7, 0x33, 0x42, 0x1f, 0x27,
	0x97, 0xce, 0x6c, 0x46, 0xe2, 0x4e, 0x18, 0xa5, 0x5e, 0x48, 0x93, 0x4e, 0x18, 0x11, 0xea, 0x44,
	0xde, 0xc5, 0x41, 0x9b, 0x2b, 0xe1, 0xdf, 0xce, 0xe2, 0xc8, 0x6d, 0xcf, 0x9c, 0x94, 0x5c, 0x3a,
	0x73, 0xc1, 0x73, 0xed, 0x19, 0xa1, 0xb6, 0x34, 0x6c, 0x4b, 0xc3, 0xdd, 0xf7, 0x66, 0x61, 0x38,
	0xf3, 0x49, 0x87, 0xab, 0xbc, 0xcc, 0xa6, 0x1d, 0x87, 0x4a, 0xfd, 0xd6, 0x7f, 0xab, 0x50, 0x1b,
	0x09, 0x75, 0xac, 0x43, 0x4d, 0x5a, 0xea, 0xca, 0x9e, 0xb2, 0x5f, 0xb7, 0x72, 0x12, 0x77, 0x41,
	0xf5, 0xe8, 0x34, 0xd4, 0x4b, 0x7b, 0xca, 0x7e, 0xe3, 0xe0, 0x71, 0x7b, 0xc3, 0x8d, 0xdb, 0x06,
	0x9d, 0x86, 0x16, 0x37, 0xc5, 0x18, 0xd4, 0xf3, 0x30, 0x49, 0xf5, 0x32, 0x47, 0xe6, 0x6b, 0xfc,
	0x3e, 0xd4, 0x5f, 0x3a, 0x09, 0xb1, 0x23, 0x27, 0x3d, 0xd7, 0x55, 0x2e, 0xd0, 0x18, 0x63, 0xe8,
	0xa4, 0xe7, 0xf8, 0x1b, 0xa8, 0x25, 0xee, 0x39, 0x09, 0x48, 0xa2, 0x57, 0xf6, 0xca, 0xfb, 0xcd,
	0x83, 0x2f, 0x37, 0xde, 0x56, 0x3a, 0x94, 0xff, 0x8e, 0x38, 0x8c, 0x95, 0xc3, 0xe1, 0x5d, 0xd0,
	0xdc, 0x90, 0x26, 0x19, 0x83, 0xae, 0xee, 0x95, 0xd9, 0xae, 0x39, 0xcd, 0x64, 0x51, 0x1c, 0x4e,
	0x32, 0x97, 0x24, 0x7a, 0x4d, 0xc8, 0x72, 0x1a, 0x7f, 0x0b, 0xf5, 0x98, 0x24, 0x51, 0x48, 0x13,
	0x92, 0xe8, 0xb0, 0x57, 0xde, 0x6f, 0x1c, 0xfc, 0xfe, 0xd6, 0x67, 0xb2, 0x72, 0x84, 0x1e, 0x4d,
	0xe3, 0xb9, 0xb5, 0x44, 0xc4, 0x21, 0xec, 0x24, 0xc4, 0xcd, 0x62, 0x2f, 0x9d, 0xdb, 0x13, 0x32,
	0xf5, 0xa8, 0xc7, 0x2d, 0xf5, 0x06, 0x0f, 0xfa, 0x17, 0x9b, 0xef, 0x24, 0x41, 0x8e, 0x97, 0x18,
	0xd6, 0xdd, 0xe4, 0x26, 0x13, 0x7f, 0x03, 0x5a, 0xce, 0xd6, 0xb7, 0xb8, 0x3b, 0xb7, 0xdf, 0xc4,
	0x22, 0xdf, 0x67, 0x5e, 0x4c, 0x02, 0x42, 0x53, 0x6b, 0x81, 0x86, 0x5d, 0xd8, 0x26, 0x57, 0x29,
	0x89, 0xa9, 0xe3, 0xdb, 0x93, 0xd0, 0x4d, 0xf4, 0x26, 0xf7, 0x61, 0xf3, 0x1b, 0xec, 0x49, 0xeb,
	0xe3, 0xd0, 0xcd, 0x18, 0xb6, 0xc3, 0xd8, 0xd6, 0x16, 0x59, 0xb2, 0x93, 0xdd, 0x10, 0x9a, 0xab,
	0xc1, 0xc4, 0x08, 0xca, 0xaf, 0xc8, 0x5c, 0x26, 0x2f, 0x5b, 0xe2, 0x27, 0x50, 0xb9, 0x70, 0xfc,
	0x8c, 0xc8, 0xcc, 0xfd, 0x64, 0xe3, 0x03, 0xe4, 0xc8, 0x96, 0xb0, 0xff, 0xbc, 0xf4, 0x99, 0xd2,
	0x3a, 0x84, 0xed, 0x95, 0x8c, 0xc2, 0x0d, 0xa8, 0x9d, 0xf6, 0x9f, 0xf5, 0x07, 0x67, 0x7d, 0xf4,
	0x0e, 0xd6, 0x40, 0x7d, 0x3a, 0x1e, 0x0f, 0x91, 0x82, 0xeb, 0x50, 0x61, 0xab, 0x11, 0x2a, 0xe1,
	0x2a, 0x94, 0xce, 0x46, 0xa8, 0x8c, 0x6b, 0x50, 0x3e, 0x1b, 0x8d, 0x90, 0x6a, 0xaa, 0x9a, 0x86,
	0xea, 0xa6, 0xaa, 0xd5, 0x11, 0x98, 0xaa, 0xb6, 0x8d, 0x9a, 0xad, 0xbf, 0x54, 0xa0, 0x3e, 0x88,
	0x48, 0xcc, 0x5d, 0x64, 0x65, 0x92, 0x3a, 0xb3, 0x44, 0x57, 0x78, 0xee, 0xf1, 0x35, 0xaf, 0xcb,
	0x2c, 0x08, 0x9c, 0x78, 0xce, 0xdd, 0x60, 0x75, 0x29, 0x48, 0xbc, 0x07, 0x8d, 0x09, 0x49, 0xdc,
	0xd8, 0xe3, 0xa7, 0x96, 0xb5, 0x55, 0x64, 0xdd, 0xbc, 0x09, 0xf5, 0xed, 0xdf, 0x04, 0xfe, 0x10,
	0xb6, 0xc2, 0xdc, 0x03, 0xdb, 0x9b, 0xe8, 0x15, 0x71, 0x8e, 0x05, 0xcf, 0x98, 0xbc, 0x76, 0xcd,
	0xd9, 0xc5, 0x9a, 0xab, 0xf3, 0x24, 0xed, 0x6e, 0x7c, 0xf6, 0x45, 0x58, 0x7f, 0xa2, 0xea, 0xf4,
	0x65, 0x9b, 0x01, 0xbe, 0xf7, 0xa2, 0x4d, 0x3c, 0x00, 0x98, 0x90, 0x28, 0x26, 0xae, 0x93, 0x92,
	0x09, 0xaf, 0x42, 0xcd, 0x2a, 0x70, 0x7e, 0xbe, 0xf2, 0xf9, 0xbf, 0x67, 0xb6, 0xc8, 0xca, 0xd6,
	0x9f, 0x15, 0xd0, 0x72, 0xe9, 0xf5, 0xd4, 0x52, 0x6e, 0xa6, 0xd6, 0x13, 0xa8, 0xf2, 0x50, 0x39,
	0xf2, 0x08, 0x9d, 0xcd, 0xbd, 0xe7, 0x66, 0x96, 0x34, 0x37, 0x55, 0xad, 0xcc, 0x2b, 0x43, 0x45,
	0x95, 0xd6, 0x3f, 0x4a, 0xa0, 0xb2, 0x57, 0x03, 0xef, 0x40, 0x25, 0xf5, 0x52, 0x9f, 0xc8, 0x9d,
	0x05, 0x71, 0xfd, 0x54, 0xa5, 0x9b, 0xa7, 0xda, 0x07, 0x94, 0x92, 0x38, 0x48, 0xec, 0x70, 0x6a,
	0x27, 0x24, 0xbe, 0xf0, 0x5c, 0x22, 0xeb, 0xa2, 0xc9, 0xf9, 0x83, 0xe9, 0x48, 0x70, 0xb1, 0x09,
	0x35, 0x37, 0xa4, 0xa9, 0xe3, 0xa6, 0xb2, 0x28, 0x3e, 0xde, 0xd8, 0x81, 0x23, 0x61, 0x67, 0xe5,
	0x00, 0x0c, 0xcb, 0xf7, 0x5c, 0x42, 0x13, 0xc2, 0x93, 0xff, 0x36, 0x58, 0x27, 0xc2, 0xce, 0xca,
	0x01, 0x58, 0x46, 0x5e, 0x90, 0x38, 0x61, 0xfe, 0x55, 0x45, 0xb9, 0x4b, 0xb2, 0xd5, 0x83, 0x9a,
	0xdc, 0x99, 0xf5, 0x09, 0xea, 0x04, 0x79, 0x74, 0xf8, 0x9a, 0x25, 0x49, 0x16, 0xfb, 0x32, 0x28,
	0x6c, 0xc9, 0x82, 0x48, 0x02, 0xc7, 0xf3, 0x65, 0x04, 0x04, 0xd1, 0xea, 0x40, 0x4d, 0x6e, 0xba,
	0x19, 0x4c, 0xeb, 0x19, 0xdc, 0x5b, 0xdb, 0x06, 0x36, 0x48, 0x92, 0x9b, 0x60, 0xff, 0x2a, 0x41,
	0x55, 0x24, 0x00, 0x1e, 0x43, 0xe3, 0xbb, 0x24, 0xa4, 0xb6, 0x4c, 0x23, 0x85, 0x47, 0xee, 0xd3,
	0x8d, 0x23, 0x67, 0x8e, 0x06, 0x7d, 0x99, 0x4a, 0xc0, 0x70, 0x24, 0xea, 0x47, 0xb0, 0x3d, 0xf1,
	0xd8, 0x09, 0x02, 0x8f, 0x3a, 0x69, 0x18, 0xcb, 0xcd, 0x57, 0x99, 0x6c, 0xf6, 0x88, 0x89, 0x33,
	0xb1, 0x43, 0xea, 0xcf, 0x79, 0x78, 0x34, 0x4b, 0x63, 0x8c, 0x01, 0xf5, 0xd7, 0xbc, 0x5f, 0x95,
	0x9f, 0xa1, 0x6b, 0xb6, 0xa1, 0x46, 0xae, 0x9c, 0x20, 0xf2, 0x09, 0xbf, 0xe7, 0xc6, 0xc1, 0x4e,
	0x5b, 0xcc, 0x69, 0xed, 0x7c, 0x4e, 0x6b, 0x77, 0xe9, 0xdc, 0xca, 0x95, 0x64, 0x81, 0xfc, 0x50,
	0x03, 0x58, 0x3a, 0xce, 0xe2, 0x1b, 0x93, 0xa9, 0xbc, 0x5f, 0xb6, 0x5c, 0x16, 0x4e, 0xe5, 0x27,
	0x0a, 0xa7, 0x7a, 0xf3, 0xa6, 0x74, 0xa8, 0x4d, 0xc8, 0xd4, 0xc9, 0xfc, 0x54, 0xaf, 0x89, 0xb4,
	0x93, 0xe4, 0x6a, 0xa8, 0xb4, 0x6b, 0xa1, 0xfa, 0x15, 0x34, 0x82, 0xcc, 0x4f, 0xbd, 0xc8, 0x27,
	0x76, 0x38, 0xd5, 0x61, 0x4f, 0xd9, 0x57, 0x2c, 0xc8, 0x59, 0x83, 0x29, 0xc3, 0x0d, 0x9c, 0x2b,
	0x2f, 0xc8, 0x02, 0xde, 0x43, 0x15, 0x2b, 0x27, 0xf1, 0x23, 0xb8, 0x43, 0xae, 0x5c, 0x3f, 0x4b,
	0xbc, 0x0b, 0x62, 0xe7, 0x3a, 0x5b, 0x1c, 0x1f, 0x2d, 0x04, 0xcf, 0xa5, 0x32, 0x83, 0xf1, 0x28,
	0x57, 0xd9, 0x96, 0x30, 0x82, 0xbc, 0x06, 0x23, 0x75, 0x9a, 0xd7, 0x61, 0xa4, 0xf2, 0x7d, 0x80,
	0xc0, 0xb9, 0xb2, 0x7d, 0x42, 0x67, 0xe9, 0xb9, 0xfe, 0xee, 0x9e, 0xb2, 0xaf, 0x5a, 0xf5, 0xc0,
	0xb9, 0x3a, 0xe1, 0x0c, 0x2e, 0xf6, 0x68, 0x2e, 0x46, 0x52, 0xec, 0x51, 0x29, 0xd6, 0xa1, 0x16,
	0x39, 0x29, 0xbb, 0x43, 0xfd, 0x8e, 0x88, 0x91, 0x24, 0x59, 0x8c, 0x18, 0xae, 0x97, 0x92, 0x20,
	0xd1, 0x77, 0xb8, 0x9d, 0x16, 0x38, 0x57, 0x06, 0xa3, 0xb9, 0xd0, 0xa3, 0x52, 0x78, 0x4f, 0x0a,
	0x3d, 0x2a, 0x84, 0x1f, 0xc2, 0x56, 0x46, 0xbd, 0xef, 0x33, 0x22, 0xe5, 0xbf, 0xe0, 0x27, 0x6f,
	0x08, 0x9e, 0x50, 0xf9, 0x0d, 0x34, 0x19, 0x78, 0x14, 0xb3, 0x17, 0x35, 0xf5, 0x48, 0xa2, 0xeb,
	0x1c, 0x64, 0x3b, 0x70, 0xae, 0x86, 0x0b, 0x26, 0x57, 0xf3, 0x68, 0x51, 0xed, 0x3d, 0xa9, 0xe6,
	0xd1, 0x82, 0xda, 0x2e, 0x68, 0xb1, 0x78, 0x76, 0x26, 0xfa, 0xae, 0x78, 0x6e, 0x73, 0x9a, 0x25,
	0x8f, 0x13, 0xc7, 0xce, 0x5c, 0x6f, 0x71, 0x81, 0x20, 0xf0, 0xb7, 0xa0, 0xa6, 0xf3, 0x88, 0xe8,
	0xbf, 0xe6, 0x73, 0xb8, 0xf1, 0x1a, 0x05, 0x5a, 0x58, 0x8e, 0x3c, 0x96, 0xcd, 0xe3, 0x79, 0x44,
	0x12, 0x8b, 0xc3, 0xb6, 0x2e, 0xe1, 0xde, 0x5a, 0xf1, 0xea, 0x7c, 0x55, 0x87, 0x4a, 0xd7, 0xb2,
	0xba, 0x2f, 0x90, 0xc2, 0xf8, 0x87, 0x83, 0xc1, 0x49, 0xaf, 0xdb, 0x47, 0x25, 0x46, 0x18, 0xfd,
	0x71, 0xef, 0x49, 0xcf, 0x42, 0x65, 0x36, 0x84, 0xf5, 0x4f, 0x4f, 0x4e, 0x90, 0x8a, 0x01, 0xaa,
	0xfd, 0xd3, 0xe7, 0x87, 0x3d, 0x0b, 0x55, 0xd8, 0x7a, 0x70, 0x68, 0xf6, 0x8e, 0xc6, 0xa8, 0xca,
	0xd6, 0xa3, 0xb1, 0x65, 0xf4, 0x9f, 0xa0, 0x9a, 0xa9, 0x6a, 0x0a, 0x2a, 0x99, 0xaa, 0x56, 0x42,
	0x65, 0x51, 0x5d, 0x8b, 0xc1, 0x0c, 0xa3, 0xbb, 0xa6, 0xaa, 0xdd, 0x45, 0x3b, 0xa6, 0xaa, 0xfd,
	0x12, 0xe9, 0xa6, 0xaa, 0xbd, 0x8f, 0x3e, 0x30, 0x55, 0xed, 0x03, 0x74, 0xdf, 0x54, 0xb5, 0xfb,
	0xe8, 0x81, 0xa9, 0x6a, 0x0f, 0x50, 0xcb, 0x54, 0xb5, 0x8f, 0xd0, 0x43, 0x53, 0xd5, 0x1e, 0xa2,
	0x47, 0xa6, 0xaa, 0x3d, 0x42, 0xed, 0xd6, 0xdf, 0x14, 0x28, 0x8f, 0x9d, 0xd9, 0x06, 0x2f, 0xd5,
	0x8d, 0x26, 0x53, 0x7e, 0xfb, 0x4d, 0x46, 0xb8, 0xd8, 0xfa, 0x8f, 0x02, 0x77, 0xd7, 0x7c, 0x16,
	0xe0, 0x69, 0x61, 0x84, 0x51, 0xf8, 0x08, 0x63, 0xbe, 0xc9, 0x67, 0xc6, 0x82, 0x27, 0xa6, 0xac,
	0xe5, 0x40, 0x93, 0xc2, 0xf6, 0x8a, 0x68, 0xcd, 0x3c, 0xf3, 0x7c, 0x75, 0x9e, 0xf9, 0xdd, 0xad,
	0xcf, 0x21, 0xbf, 0xf2, 0x0a, 0xf3, 0xfa, 0x3f, 0x2b, 0xd0, 0x5c, 0x95, 0xe2, 0xa1, 0xcc, 0x64,
	0xb6, 0x71, 0xf3, 0x35, 0xe6, 0x35, 0x01, 0xd3, 0x66, 0xe9, 0x29, 0x92, 0x77, 0x83, 0x7b, 0xce,
	0xdf, 0xd8, 0x72, 0xe1, 0x8d, 0x35, 0xa1, 0xe4, 0x51, 0x3e, 0x76, 0x34, 0x0f, 0x3e, 0x7f, 0xdd,
	0x53, 0x18, 0xd4, 0x2a, 0x79, 0x94, 0xf9, 0x34, 0xf5, 0xc3, 0x4b, 0xde, 0xef, 0xdf, 0xc0, 0xa7,
	0xaf, 0xfc, 0xf0, 0xd2, 0xe2, 0x48, 0xac, 0xa3, 0x3a, 0x59, 0x7a, 0x1e, 0xc6, 0xde, 0x9f, 0xc4,
	0x4c, 0xcf, 0x9e, 0x70, 0xf1, 0x64, 0xa0, 0x15, 0xc1, 0x69, 0xec, 0xb3, 0xe6, 0x96, 0x86, 0xaf,
	0x88, 0x50, 0x12, 0x2f, 0x87, 0xc6, 0x19, 0x4c, 0xc8, 0x67, 0xc4, 0x30, 0x22, 0x09, 0x7f, 0x37,
	0x6e, 0x37, 0x23, 0x32, 0x33, 0x4b, 0x9a, 0xb7, 0x9e, 0x81, 0xca, 0x82, 0x8e, 0x11, 0x6c, 0x8d,
	0x5f, 0x0c, 0x7b, 0xb6, 0xd1, 0xff, 0xba, 0x7b, 0x62, 0x1c, 0xa3, 0x77, 0x70, 0x13, 0x80, 0x73,
	0x0e, 0xbb, 0x23, 0xe3, 0x08, 0x29, 0x0b, 0x8d, 0xee, 0xd0, 0xb0, 0x9f, 0xf5, 0x5e, 0xa0, 0x12,
	0x7e, 0x17, 0x1a, 0x9c, 0x33, 0xe8, 0x9e, 0x8e, 0x9f, 0x1e, 0xa0, 0x72, 0xeb, 0x13, 0x28, 0x19,
	0x94, 0x19, 0x1a, 0xfd, 0x02, 0xd0, 0x16, 0x68, 0x46, 0xdf, 0xfe, 0xc3, 0x69, 0xcf, 0x62, 0x3d,
	0x66, 0x1b, 0xea, 0x46, 0xdf, 0x7e, 0xda, 0xeb, 0x1e, 0xf7, 0x2c, 0x54, 0x6a, 0x7d, 0x07, 0x2a,
	0x0b, 0x10, 0x43, 0xff, 0xea, 0x64, 0x70, 0x56, 0x30, 0xbb, 0x03, 0xdb, 0x82, 0xf3, 0x7c, 0x78,
	0x62, 0x1c, 0x19, 0x63, 0xa4, 0x2c, 0x58, 0xc3, 0xee, 0x68, 0x74, 0x36, 0xb0, 0x8e, 0x51, 0x09,
	0xef, 0x00, 0xe2, 0xac, 0xee, 0x90, 0x69, 0x75, 0xc7, 0xc6, 0xa0, 0x8f, 0xca, 0x4b, 0xee, 0xd1,
	0x51, 0x6f, 0x34, 0xb2, 0x8f, 0x06, 0xc7, 0x3d, 0xa4, 0xb6, 0xfe, 0x5d, 0x5a, 0x56, 0x6b, 0xe1,
	0x03, 0x01, 0xff, 0x55, 0x29, 0xfc, 0x43, 0x10, 0x2f, 0x05, 0xb2, 0x74, 0x4f, 0xdf, 0xe4, 0xeb,
	0x63, 0x1d, 0x4f, 0x54, 0xf1, 0xe2, 0xaf, 0x83, 0x82, 0x64, 0xf7, 0x63, 0xd0, 0xd7, 0x18, 0x7c,
	0xcd, 0x4a, 0x8f, 0xbd, 0x21, 0xfc, 0xd2, 0xe4, 0x37, 0xac, 0x20, 0x76, 0x7f, 0x50, 0xd6, 0x9a,
	0xfc, 0x58, 0x3b, 0x78, 0xb5, 0xda, 0x0e, 0xde, 0xba, 0x6f, 0xfc, 0xa8, 0xc5, 0x66, 0xf1, 0x77,
	0x85, 0x8d, 0xa5, 0x2c, 0xd7, 0xf0, 0xb0, 0xe8, 0x40, 0xe3, 0x36, 0xf5, 0xc9, 0xed, 0xc5, 0x8f,
	0x08, 0x9e, 0x74, 0xfe, 0x33, 0x80, 0x25, 0x73, 0x8d, 0xb7, 0x3b, 0x45, 0x6f, 0xeb, 0x85, 0x63,
	0x1d, 0x7e, 0xf9, 0xc7, 0x2f, 0x66, 0x5e, 0x7a, 0x9e, 0xbd, 0x6c, 0xbb, 0x61, 0xd0, 0x89, 0x9c,
	0x38, 0x65, 0xad, 0xb6, 0x13, 0x78, 0x6e, 0x1c, 0x3e, 0x96, 0x47, 0xea, 0xfc, 0xf8, 0x7f, 0x86,
	0x2f, 0xab, 0x5c, 0xf6, 0xe9, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x84, 0xd8, 0xfa, 0x37, 0x58,
	0x14, 0x00, 0x00,
}

repository: partitio/micro-gateway

repo_name: partitio/micro-gateway


text:
package upgrade_assets_test

import (
	"context"

	"github.com/golang/mock/gomock"
	"github.com/google/go-github/github"
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
	"github.com/rotisserie/eris"
	upgrade_assets "github.com/solo-io/service-mesh-hub/cli/pkg/tree/upgrade/assets"
	mock_upgrade_assets "github.com/solo-io/service-mesh-hub/cli/pkg/tree/upgrade/assets/mocks"
)

var _ = Describe("upgrade assets helper", func() {
	var (
		ctrl *gomock.Controller
		ctx  context.Context

		testErr = eris.New("hello")
	)

	BeforeEach(func() {
		ctx = context.TODO()
		ctrl = gomock.NewController(GinkgoT())
	})

	AfterEach(func() {
		ctrl.Finish()
	})
	Context("asset helper", func() {
		var (
			helper upgrade_assets.AssetHelper

			client *mock_upgrade_assets.MockGithubAssetClient
		)

		BeforeEach(func() {
			client = mock_upgrade_assets.NewMockGithubAssetClient(ctrl)
			helper = upgrade_assets.NewAssetHelper(client)
		})

		Context("download asset", func() {
			It("will return an error with an illegal url", func() {
				downloadUrl := "illegal-url"
				err := helper.DownloadAsset(downloadUrl, "")
				Expect(err).To(HaveOccurred())
			})
		})

		Context("get release with asset", func() {
			It("will return an error if a tag is supplied and no release is found", func() {
				tag := "vtest"
				client.EXPECT().GetReleaseByTag(ctx, tag).Return(nil, testErr)
				_, err := helper.GetReleaseWithAsset(ctx, tag, upgrade_assets.MeshctlBinaryName())
				Expect(err).To(HaveOccurred())
				Expect(err).To(Equal(testErr))
			})

			It("will return an error if list releases fails", func() {
				tag := "latest"
				client.EXPECT().ListReleases(ctx, gomock.Any()).Return(nil, testErr)
				_, err := helper.GetReleaseWithAsset(ctx, tag, upgrade_assets.MeshctlBinaryName())
				Expect(err).To(HaveOccurred())
				Expect(err).To(Equal(testErr))
			})

			It("will return a release if it can be found in the releases", func() {
				tag := "latest"
				targetRelease := &github.RepositoryRelease{
					Assets: []github.ReleaseAsset{
						{
							Name: github.String(upgrade_assets.MeshctlBinaryName()),
						},
					},
				}
				client.EXPECT().ListReleases(ctx, gomock.Any()).Return([]*github.RepositoryRelease{
					targetRelease,
				}, nil)
				release, err := helper.GetReleaseWithAsset(ctx, tag, upgrade_assets.MeshctlBinaryName())
				Expect(err).NotTo(HaveOccurred())
				Expect(release).To(Equal(targetRelease))
			})
		})

	})
})

repository: synuwxy/service-mesh-hub

license_type: permissive

repo_name: synuwxy/service-mesh-hub

branch_name: refs/heads/master

extension: go


text:
// Code generated by smithy-go-codegen DO NOT EDIT.

package mturk

import (
	"context"
	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
	"github.com/aws/aws-sdk-go-v2/service/mturk/types"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
)

// The CreateHIT operation creates a new Human Intelligence Task (HIT). The new HIT
// is made available for Workers to find and accept on the Amazon Mechanical Turk
// website. This operation allows you to specify a new HIT by passing in values for
// the properties of the HIT, such as its title, reward amount and number of
// assignments. When you pass these values to CreateHIT, a new HIT is created for
// you, with a new HITTypeID. The HITTypeID can be used to create additional HITs
// in the future without needing to specify common parameters such as the title,
// description and reward amount each time. An alternative way to create HITs is to
// first generate a HITTypeID using the CreateHITType operation and then call the
// CreateHITWithHITType operation. This is the recommended best practice for
// Requesters who are creating large numbers of HITs. CreateHIT also supports
// several ways to provide question data: by providing a value for the Question
// parameter that fully specifies the contents of the HIT, or by providing a
// HitLayoutId and associated HitLayoutParameters. If a HIT is created with 10 or
// more maximum assignments, there is an additional fee. For more information, see
// Amazon Mechanical Turk Pricing (https://requester.mturk.com/pricing).
func (c *Client) CreateHIT(ctx context.Context, params *CreateHITInput, optFns ...func(*Options)) (*CreateHITOutput, error) {
	if params == nil {
		params = &CreateHITInput{}
	}

	result, metadata, err := c.invokeOperation(ctx, "CreateHIT", params, optFns, addOperationCreateHITMiddlewares)
	if err != nil {
		return nil, err
	}

	out := result.(*CreateHITOutput)
	out.ResultMetadata = metadata
	return out, nil
}

type CreateHITInput struct {

	// The amount of time, in seconds, that a Worker has to complete the HIT after
	// accepting it. If a Worker does not complete the assignment within the specified
	// duration, the assignment is considered abandoned. If the HIT is still active
	// (that is, its lifetime has not elapsed), the assignment becomes available for
	// other users to find and accept.
	//
	// This member is required.
	AssignmentDurationInSeconds *int64

	// A general description of the HIT. A description includes detailed information
	// about the kind of task the HIT contains. On the Amazon Mechanical Turk web site,
	// the HIT description appears in the expanded view of search results, and in the
	// HIT and assignment screens. A good description gives the user enough information
	// to evaluate the HIT before accepting it.
	//
	// This member is required.
	Description *string

	// An amount of time, in seconds, after which the HIT is no longer available for
	// users to accept. After the lifetime of the HIT elapses, the HIT no longer
	// appears in HIT searches, even if not all of the assignments for the HIT have
	// been accepted.
	//
	// This member is required.
	LifetimeInSeconds *int64

	// The amount of money the Requester will pay a Worker for successfully completing
	// the HIT.
	//
	// This member is required.
	Reward *string

	// The title of the HIT. A title should be short and descriptive about the kind of
	// task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title
	// appears in search results, and everywhere the HIT is mentioned.
	//
	// This member is required.
	Title *string

	// The Assignment-level Review Policy applies to the assignments under the HIT. You
	// can specify for Mechanical Turk to take various actions based on the policy.
	AssignmentReviewPolicy *types.ReviewPolicy

	// The number of seconds after an assignment for the HIT has been submitted, after
	// which the assignment is considered Approved automatically unless the Requester
	// explicitly rejects it.
	AutoApprovalDelayInSeconds *int64

	// The HITLayoutId allows you to use a pre-existing HIT design with placeholder
	// values and create an additional HIT by providing those values as
	// HITLayoutParameters. Constraints: Either a Question parameter or a HITLayoutId
	// parameter must be provided.
	HITLayoutId *string

	// If the HITLayoutId is provided, any placeholder values must be filled in with
	// values using the HITLayoutParameter structure. For more information, see
	// HITLayout.
	HITLayoutParameters []types.HITLayoutParameter

	// The HIT-level Review Policy applies to the HIT. You can specify for Mechanical
	// Turk to take various actions based on the policy.
	HITReviewPolicy *types.ReviewPolicy

	// One or more words or phrases that describe the HIT, separated by commas. These
	// words are used in searches to find HITs.
	Keywords *string

	// The number of times the HIT can be accepted and completed before the HIT becomes
	// unavailable.
	MaxAssignments *int32

	// Conditions that a Worker's Qualifications must meet in order to accept the HIT.
	// A HIT can have between zero and ten Qualification requirements. All requirements
	// must be met in order for a Worker to accept the HIT. Additionally, other actions
	// can be restricted using the ActionsGuarded field on each
	// QualificationRequirement structure.
	QualificationRequirements []types.QualificationRequirement

	// The data the person completing the HIT uses to produce the results. Constraints:
	// Must be a QuestionForm data structure, an ExternalQuestion data structure, or an
	// HTMLQuestion data structure. The XML question data must not be larger than 64
	// kilobytes (65,535 bytes) in size, including whitespace. Either a Question
	// parameter or a HITLayoutId parameter must be provided.
	Question *string

	// An arbitrary data field. The RequesterAnnotation parameter lets your application
	// attach arbitrary data to the HIT for tracking purposes. For example, this
	// parameter could be an identifier internal to the Requester's application that
	// corresponds with the HIT. The RequesterAnnotation parameter for a HIT is only
	// visible to the Requester who created the HIT. It is not shown to the Worker, or
	// any other Requester. The RequesterAnnotation parameter may be different for each
	// HIT you submit. It does not affect how your HITs are grouped.
	RequesterAnnotation *string

	// A unique identifier for this request which allows you to retry the call on error
	// without creating duplicate HITs. This is useful in cases such as network
	// timeouts where it is unclear whether or not the call succeeded on the server. If
	// the HIT already exists in the system from a previous call using the same
	// UniqueRequestToken, subsequent calls will return a
	// AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.
	// Note: It is your responsibility to ensure uniqueness of the token. The unique
	// token expires after 24 hours. Subsequent calls using the same UniqueRequestToken
	// made after the 24 hour limit could create duplicate HITs.
	UniqueRequestToken *string
}

type CreateHITOutput struct {

	// Contains the newly created HIT data. For a description of the HIT data structure
	// as it appears in responses, see the HIT Data Structure documentation.
	HIT *types.HIT

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata
}

func addOperationCreateHITMiddlewares(stack *middleware.Stack, options Options) (err error) {
	err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateHIT{}, middleware.After)
	if err != nil {
		return err
	}
	err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateHIT{}, middleware.After)
	if err != nil {
		return err
	}
	if err = addSetLoggerMiddleware(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
		return err
	}
	if err = addResolveEndpointMiddleware(stack, options); err != nil {
		return err
	}
	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
		return err
	}
	if err = addRetryMiddlewares(stack, options); err != nil {
		return err
	}
	if err = addHTTPSignerV4Middleware(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
		return err
	}
	if err = addClientUserAgent(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = addOpCreateHITValidationMiddleware(stack); err != nil {
		return err
	}
	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateHIT(options.Region), middleware.Before); err != nil {
		return err
	}
	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
		return err
	}
	if err = addResponseErrorMiddleware(stack); err != nil {
		return err
	}
	if err = addRequestResponseLogging(stack, options); err != nil {
		return err
	}
	return nil
}

func newServiceMetadataMiddleware_opCreateHIT(region string) *awsmiddleware.RegisterServiceMetadata {
	return &awsmiddleware.RegisterServiceMetadata{
		Region:        region,
		ServiceID:     ServiceID,
		SigningName:   "mturk-requester",
		OperationName: "CreateHIT",
	}
}

branch_name: refs/heads/main


text:
@article{LimitToBlockchainScaling,
    author = "Vitalik Buterin",
    title = "The Limits to Blockchain Scalability",
    year = 2021,
    url = "https://vitalik.ca/general/2021/05/23/scaling.html",
    url-date = "2021-07-09"
}
@article{UTreeXO,
    author = "Thaddeus Dryja",
    title = "Utreexo: A dynamic hash-based accumulator optimized for the Bitcoin
        UTXO set",
    year = 2019,
    url = "https://eprint.iacr.org/2019/611.pdf",
    url-date = "2021-07-11"
}
@article{CT,
    author = "Gregory Maxwell",
    title = "Confidential Transactions - Investigation",
    url = "https://elementsproject.org/features/confidential-transactions/investigation",
    url-date = "2021-07-11"
}
@misc{BitcoinBenchmark,
    author = "Jonathon Toomim",
    year = {2019},
    title = "3,000 tx/sec on a Bitcoin Cash throughput benchmark",
    url = "https://www.youtube.com/watch?v=j5UvgfWVnYg",
    urldate = "2021-07-20",
}
@misc{ShardProbabilityTest,
    author = "Ellis Frank",
    year = {2021},
    title = "Shard Probability test",
    url = "https://github.com/padlock-xpl/shard-probability-test",
    urldate = "2021-08-09",
}

repository: padlock-xpl/padlock-whitepaper

repo_name: padlock-xpl/padlock-whitepaper

extension: bib


text:
require xorg-lib-common.inc
DESCRIPTION = "network API translation layer to insulate X applications and \
libraries from OS network vageries."
RDEPENDS_${PN}-dev = ""
PE = "1"
PR = "${INC_PR}.0"

SRC_URI[archive.md5sum] = "2d1e57e82acc5f21797e92341415af2f"
SRC_URI[archive.sha256sum] = "cc71a391f4da8176e5daeeac1ddf5137ba5e8d2263cb93a49f9e2a9976b90899"

ALLOW_EMPTY = "1"

BBCLASSEXTEND = "native nativesdk"

license: MIT

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD

extension: bb


text:
PR="0"

SRC_URI="http://downloads.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2"

SRC_URI[md5sum] = "0fd61eb590ac1bab62a77913c8b086a5"
SRC_URI[sha256sum] = "234efb39dbbe5cef4189cc76f37afbe3cfcfb45ae52493bfe8e191318bdbadc6"

LICENSE="LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=243b725d71bb5df4a1e5920b344b86ad"

S = "${WORKDIR}/zbar-0.10"

do_configure() {
  export CFLAGS=""
  ${S}/configure  --prefix=${D}/usr --host=${TARGET_SYS} --build=${BUILD_SYS}  --disable-video --without-imagemagick --without-gtk --without-python --without-qt --without-x --without-xshm --without-xv --without-jpeg
}

do_install() {
  make install
}

FILES_${PN}-dev = "/usr/include  /usr/lib/pkgconfig /usr/lib/libzbar.so"
FILES_${PN}-doc = "/usr/share"
FILES_${PN} += "/usr/bin /usr/lib/libzbar*"

repository: watbulb/FireHawk

repo_name: watbulb/FireHawk


text:
# status as of 2009/05/21: This particular bb file is broken beyond what I
# (Laibsch) care to fix.  If you fix it, please base your changes on top
# of pwlib.inc

# pwlib .bb build file
# Copyright (C) 2006, Advanced Micro Devices, Inc.  All Rights Reserved
# Released under the MIT license (see /COPYING)

DEFAULT_PREFERENCE = "-1"

HOMEPAGE="http://www.openh323.org/docs/PWLib/"
DESCRIPTION="Portable Text and GUI C/C++ Class Libarary."
LICENSE = "GPL"

SRC_URI="http://ftp.iinet.net.au/debian/debian-backports-woody/dists/woody/pwlib/source/pwlib_${PV}.orig.tar.gz"
SRC_URI[md5sum] = "618f0ec3e816d7ff9d3bbe23ea5a3312"
SRC_URI[sha256sum] = "c51e760ea1c143e2edbba5b6bfb4785b3b66805c4581d8517febb75cd52582da"

DEPENDS="openssl openldap"

inherit autotools

EXTRA_OECONF="--enable-ipv6 --disable-sasl --disable-sdl \
	      --disable-video --enable-plugins --with-plugins=oss"

S="${WORKDIR}/${PN}"

# Use openSSL

export OPENSSLFLAG="1"
export OPENSSLDIR="${STAGING_LIBDIR}"
export OPENSSLLIBS="-lssl -lcrypt"
export MACHTYPE="x86"
export OSTYPE="linux"
export OSRELEASE="openembedded"

export CPLUS="${CXX}"

do_compile() {
	oe_runmake opt
}

HEADERS="ptbuildopts.h ptlib.h"

PTCLIB_HEADERS="ptclib/asnber.h ptclib/asner.h ptclib/asnper.h \
	        ptclib/asnxer.h ptclib/cypher.h ptclib/delaychan.h \
		ptclib/dtmf.h ptclib/ftp.h ptclib/html.h ptclib/http.h \
		ptclib/httpform.h ptclib/httpsvc.h ptclib/inetmail.h \
		ptclib/inetprot.h ptclib/ipacl.h ptclib/memfile.h \
		ptclib/mime.h ptclib/modem.h ptclib/pasn.h ptclib/pdns.h \
		ptclib/pils.h ptclib/pldap.h ptclib/psnmp.h ptclib/psoap.h \
		ptclib/pssl.h ptclib/pstun.h ptclib/ptts.h ptclib/pwavfile.h \
		ptclib/pxml.h ptclib/pxmlrpc.h ptclib/pxmlrpcs.h \
		ptclib/qchannel.h ptclib/random.h ptclib/shttpsvc.h \
		ptclib/socks.h ptclib/telnet.h ptclib/url.h ptclib/vsdl.h \
		ptclib/vxml.h"

PTLIB_HEADERS= "ptlib/MacMainIf.h ptlib/args.h ptlib/array.h \
		ptlib/channel.h ptlib/conchan.h ptlib/config.h \
		ptlib/contain.h ptlib/contain.inl ptlib/dict.h \
		ptlib/dynalink.h ptlib/ethsock.h ptlib/file.h \
		ptlib/filepath.h ptlib/icmpsock.h ptlib/indchan.h \
		ptlib/int64.h ptlib/ipdsock.h ptlib/ipsock.h ptlib/ipxsock.h \
		ptlib/lists.h ptlib/mail.h ptlib/mutex.h ptlib/notifier.h \
		ptlib/object.h ptlib/osutil.inl ptlib/pdirect.h \
		ptlib/pipechan.h ptlib/plugin.h ptlib/pluginmgr.h \
		ptlib/pprocess.h ptlib/pstring.h ptlib/ptime.h ptlib/qos.h \
		ptlib/remconn.h ptlib/safecoll.h ptlib/semaphor.h \
		ptlib/serchan.h ptlib/sfile.h ptlib/smartptr.h \
		ptlib/socket.h ptlib/sockets.h ptlib/sound.h \
		ptlib/spxsock.h ptlib/svcproc.h ptlib/syncpoint.h \
		ptlib/syncthrd.h ptlib/tcpsock.h ptlib/textfile.h \
		ptlib/thread.h ptlib/timeint.h ptlib/timer.h ptlib/udpsock.h \
		ptlib/vconvert.h ptlib/video.h ptlib/videoio.h \
		ptlib/videoio1394dc.h ptlib/unix/ptlib/channel.h \
		ptlib/unix/ptlib/conchan.h ptlib/unix/ptlib/config.h \
		ptlib/unix/ptlib/contain.h ptlib/unix/ptlib/dynalink.h \
		ptlib/unix/ptlib/ethsock.h ptlib/unix/ptlib/file.h \
		ptlib/unix/ptlib/filepath.h ptlib/unix/ptlib/icmpsock.h \
		ptlib/unix/ptlib/ipdsock.h ptlib/unix/ptlib/ipsock.h \
		ptlib/unix/ptlib/mutex.h ptlib/unix/ptlib/pdirect.h \
		ptlib/unix/ptlib/pipechan.h ptlib/unix/ptlib/pmachdep.h \
		ptlib/unix/ptlib/pprocess.h ptlib/unix/ptlib/ptime.h \
		ptlib/unix/ptlib/ptlib.inl ptlib/unix/ptlib/remconn.h \
		ptlib/unix/ptlib/semaphor.h ptlib/unix/ptlib/serchan.h \
		ptlib/unix/ptlib/sfile.h ptlib/unix/ptlib/socket.h \
		ptlib/unix/ptlib/sound.h ptlib/unix/ptlib/svcproc.h \
		ptlib/unix/ptlib/syncpoint.h ptlib/unix/ptlib/tcpsock.h \
		ptlib/unix/ptlib/textfile.h ptlib/unix/ptlib/thread.h \
		ptlib/unix/ptlib/timeint.h ptlib/unix/ptlib/timer.h \
		ptlib/unix/ptlib/udpsock.h ptlib/unix/ptlib/video.h \
		ptlib/unix/ptlib/videoio.h ptlib/unix/ptlib/videoio1394avc.h"

SHARE="make/common.mak make/defaultgui.mak \
       make/gui.mak make/lib.mak make/motif.mak \
       make/plugins.mak make/ptbuildopts.mak \
       make/ptlib.mak make/pwlib.mak make/qt.mak \
       make/unix.mak make/xlib.mak"

do_stage() {
	install -d ${STAGING_INCDIR}/ptlib/unix/ptlib
	install -d ${STAGING_INCDIR}/ptclib

	for file in ${HEADERS} ${PTCLIB_HEADERS} ${PTLIB_HEADERS}; do
		install -m 0644 ${S}/include/$file ${STAGING_INCDIR}/$file
	done

	install -d ${STAGING_LIBDIR}

	oe_libinstall -C lib libpt_linux_x86_r ${STAGING_LIBDIR}

	ln -sf ${STAGING_LIBDIR}/libpt_linux_x86_r.so ${STAGING_LIBDIR}/libpt.so

	install -d ${STAGING_DATADIR}/pwlib/make
	for file in ${SHARE}; do
		install -m 0644 ${S}/$file ${STAGING_DATADIR}/pwlib/$file
	done

	cat ${S}/make/ptlib-config | sed -e 's:LIBDIR=\"/usr/lib\":LIBDIR=\"${STAGING_LIBDIR}\":' -e 's:PWINSTDIR=\"/usr/share/pwlib\":PWINSTDIR=\"${STAGING_DATADIR}/pwlib\":' > ${STAGING_DATADIR}/pwlib/make/ptlib-config
	chmod 0755 ${STAGING_DATADIR}/pwlib/make/ptlib-config
}


text:
DESCRIPTION = "Fairly minimal image for internet radio app (cuteradio)"
LICENSE = "MIT"

inherit core-image

DEPENDS += "bcm2835-bootfiles"

IMAGE_FEATURES += "\
    splash \
    ssh-server-dropbear \
    debug-tweaks \
"

IMAGE_INSTALL += " \
    packagegroup-cuteradio-devtools \
    packagegroup-qml-basic \
    packagegroup-qml-multimedia \
    cuteradio \
"

# Add an extra 0.5 GB of free space to the root filesystem
IMAGE_ROOTFS_EXTRA_SPACE = "524288"

repository: shahramyy/meta-cuteradio

repo_name: shahramyy/meta-cuteradio


text:
package srv6

import (
	"encoding/binary"
	"fmt"
	"net"

	"github.com/golang/glog"
	"github.com/sbezverk/gobmp/pkg/base"
	"github.com/sbezverk/gobmp/pkg/tools"
)

// EndXSIDTLV defines SRv6 End.X SID TLV object
// No RFC yet
type EndXSIDTLV struct {
	EndpointBehavior uint16         `json:"endpoint_behavior,omitempty"`
	BFlag            bool           `json:"b_flag"`
	SFlag            bool           `json:"s_flag"`
	PFlag            bool           `json:"p_flag"`
	Algorithm        uint8          `json:"algorithm,omitempty"`
	Weight           uint8          `json:"weight,omitempty"`
	SID              string         `json:"sid,omitempty"`
	SubTLVs          []*base.SubTLV `json:"sub_tlvs,omitempty"`
}

const (
	// EndXSIDTLVMinLen defines minimum valid length of End.X SID TLV
	EndXSIDTLVMinLen = 22
)

// UnmarshalSRv6EndXSIDTLV builds SRv6 End.X SID TLV object
func UnmarshalSRv6EndXSIDTLV(b []byte) (*EndXSIDTLV, error) {
	if glog.V(6) {
		glog.Infof("SRv6 End.X SID TLV Raw: %s", tools.MessageHex(b))
	}
	if len(b) < EndXSIDTLVMinLen {
		return nil, fmt.Errorf("invalid length of data %d, expected minimum of %d", len(b), EndXSIDTLVMinLen)
	}
	p := 0
	e := EndXSIDTLV{}
	if p+2 > len(b) {
		return nil, fmt.Errorf("invalid input %s", tools.MessageHex(b))
	}
	e.EndpointBehavior = binary.BigEndian.Uint16(b[p : p+2])
	if p+2 > len(b) {
		return nil, fmt.Errorf("invalid input %s", tools.MessageHex(b))
	}
	p += 2
	e.BFlag = b[p]&0x01 == 0x01
	e.SFlag = b[p]&0x02 == 0x02
	e.PFlag = b[p]&0x04 == 0x04
	if p+1 > len(b) {
		return nil, fmt.Errorf("invalid input %s", tools.MessageHex(b))
	}
	p++
	e.Algorithm = b[p]
	if p+1 > len(b) {
		return nil, fmt.Errorf("invalid input %s", tools.MessageHex(b))
	}
	p++
	e.Weight = b[p]
	if p+2 > len(b) {
		return nil, fmt.Errorf("invalid input %s", tools.MessageHex(b))
	}
	p++
	// Skip reserved byte
	p++
	if p+16 > len(b) {
		return nil, fmt.Errorf("invalid input %s", tools.MessageHex(b))
	}
	sid := net.IP(b[p : p+16])
	if sid.To16() == nil {
		return nil, fmt.Errorf("invalid sid format")
	}
	e.SID = sid.To16().String()
	p += 16
	if len(b) > p {
		stlvs, err := base.UnmarshalSubTLV(b[p:])
		if err != nil {
			return nil, err
		}
		e.SubTLVs = stlvs
	}

	return &e, nil
}

repository: shoujche/gobmp

repo_name: shoujche/gobmp


text:
@article{diffie:76,
  author = {Bailey W. Diffie and Martin E. Hellman},
  title = {New Directions in Cryptography},
  journal = {IEEE Transactions on Information Theory},
  issue_date = {November 1976},
  pages = {644--654},
  publisher = {IEEE Press}
}

repository: ranisalt/csec

repo_name: ranisalt/csec


text:
@article{linhares,
    author = "Alexandre Linhares",
    title  = "The emergence of choice: Decision-making and strategic thinking through analogies",
    journal = "Information Sciences",
    volume  = "259",
    pages   = "36-56",
    year    = "2014"
}

@article{compmodeling,
    author = "Casper Addyman , Robert M. French",
    title = "Computational modeling in cognitive science: a manifesto for change.",
    journal = "Topics in Cognitive Science",
    year="2012"
}

@book{analogyasperception,
    title  = {Analogy Making as Perception},
    author = {Melanie Mitchell},
    isbn   = {0-262-13289-3},
    year   = {1993},
    publisher = {Massachusetts Institute of Technology}
}

@book{fluidconcepts,
    title={Fluid Concepts and Creative Analogies},
    author={Douglas Hofstadter, FARG},
    isbn={0-465-02475-0},
    year={1995},
    publisher={Basic Books}
}

@book{computerandthebrain,
    title={The Computer \& The Brain},
    author={John Von Neumann},
    isbn={978-0-300-18111-1},
    year={1958},
    publisher={Yale University Press}
}

@book{geb,
    title={Gödel, Escher, Bach: an Eternal Golden Braid},
    author={Douglas Hofstadter},
    isbn={0-456-02656-7},
    year={1979},
    publisher={Basic Books}
}

@online{knuthwebsite,
    author    = "Donald Knuth",
    title     = "Knuth: Computers and Typesetting",
    url       = "http://www-cs-faculty.stanford.edu/~uno/abcde.html",
    keywords  = "latex,knuth"
}

repository: AaronCWacker/copycat

repo_name: AaronCWacker/copycat

gha_license_id: MIT


text:
require barebox.inc

SRCREV = "c7a3ae7ec058e72adc0dae3ab41e47e475295d41"

repository: weratyr/meta-barebox

repo_name: weratyr/meta-barebox


text:
% summerSHG - technical report Bib

@article{TL:1999,
  author = {D. A. Shaddock and M. B. Gray and D. E. McClelland},
  journal = {Opt. Lett.},
  keywords = {Fabry-Perot; Interferometry; Optoelectronics; Laser beams; Laser crystals; Nd:YAG lasers; Phase measurement; Phase modulation; Phase shift},
  number = {21},
  pages = {1499--1501},
  publisher = {OSA},
  title = {Frequency locking a laser to an optical cavity by use of spatial mode interference},
  volume = {24},
  month = {Nov},
  year = {1999},
  url = {http://ol.osa.org/abstract.cfm?URI=ol-24-21-1499},
  doi = {10.1364/OL.24.001499},
  note = {reading: entirety}
}

@article{Ward:2010,
  author = {Ward, Robert Lawrence},
  journal = {Dissertation (Ph.D.) - California Institute of Technology},
  title = {Length Sensing and Control of a Prototype Advanced Interferometric Gravitational Wave Detector},
  year = {2010},
  doi = {10.7907/20SX-2935},
  note = {reading: Appendix E}
}

@article{Bechhoefer:2005,
  title = {Feedback for physicists: A tutorial essay on control},
  author = {Bechhoefer, John},
  journal = {Rev. Mod. Phys.},
  volume = {77},
  issue = {3},
  pages = {783--836},
  numpages = {0},
  year = {2005},
  month = {Aug},
  publisher = {American Physical Society},
  doi = {10.1103/RevModPhys.77.783},
  url = {https://link.aps.org/doi/10.1103/RevModPhys.77.783},
  note = {reading: Sections 3 and 4}
}

@book{FCS:2000,
  title={Feedback Control Systems: A Fast-Track Guide for Scientists and Engineers},
  author={A. Abramovici and J. Chapsky},
  year={2000},
  publisher={Kluwer Academic Publishers},
  note={reading: Chapters 1--7}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@book{python,
  title={Python tutorial},
  author={Van Rossum, Guido and Drake Jr, Fred L},
  year={1995},
  publisher={Centrum voor Wiskunde en Informatica Amsterdam, The Netherlands}
}
@article{ipython,
  title={IPython: a system for interactive scientific computing},
  author={P{\'e}rez, Fernando and Granger, Brian E},
  journal={Computing in Science \& Engineering},
  volume={9},
  number={3},
  year={2007},
  publisher={IEEE}
}
@conference{jupyter,
  Title = {Jupyter Notebooks -- a publishing format for reproducible computational workflows},
  Author = {Thomas Kluyver and Benjamin Ragan-Kelley and Fernando P{\'e}rez and Brian Granger and Matthias Bussonnier and Jonathan Frederic and Kyle Kelley and Jessica Hamrick and Jason Grout and Sylvain Corlay and Paul Ivanov and Dami{\'a}n Avila and Safia Abdalla and Carol Willing},
  Booktitle = {Positioning and Power in Academic Publishing: Players, Agents and Agendas},
  Editor = {F. Loizides and B. Schmidt},
  Organization = {IOS Press},
  Pages = {87 - 90},
  Year = {2016}
}
@book{numpy,
  title={A guide to NumPy},
  author={Oliphant, Travis E},
  volume={1},
  year={2006},
  publisher={Trelgol Publishing USA}
}
@article{matplotlib,
  title={Matplotlib: A 2D graphics environment},
  author={Hunter, John D},
  journal={Computing in science \& engineering},
  volume={9},
  number={3},
  pages={90--95},
  year={2007},
  publisher={IEEE}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

repository: daccordeon/summerSHG

repo_name: daccordeon/summerSHG


text:
package nexus

import (
	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
	"github.com/hibri/nexus"
)

func Provider() *schema.Provider {
	return &schema.Provider{
		Schema: map[string]*schema.Schema{
			"base_url": {
				Type:         schema.TypeString,
				Optional:     true,
				DefaultFunc:  schema.EnvDefaultFunc("NEXUS_BASE_URL", ""),
				Description:  descriptions["base_url"],

			},
			"username": {
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("NEXUS_USERNAME", nil),
				Description: descriptions["username"],
			},

			"password": {
				Type:        schema.TypeString,
				Required:    true,
				DefaultFunc: schema.EnvDefaultFunc("NEXUS_PASSWORD", nil),
				Description: descriptions["password"],
			},

			"insecure": {
				Type:        schema.TypeBool,
				Optional:    true,
				Default:     false,
				Description: descriptions["insecure"],
			},
		},
		ResourcesMap: map[string]*schema.Resource{
			"nexus_iq_connection": IQConnection(),
		},
		ConfigureFunc: providerConfigure,
	}
}

var descriptions map[string]string

func init() {
	descriptions = map[string]string{
		"base_url": "The Nexus  URL",
		"username": "Username for a Nexus account",
		"password": "Password for the Nexus account",
		"insecure": "Disable SSL verification of API calls",
	}
}

func providerConfigure(d *schema.ResourceData) (interface{}, error) {
	nexusClient := nexus.NexusClient{
		BaseUrl:  d.Get("base_url").(string),
		UserName: d.Get("username").(string),
		Password: d.Get("password").(string),
		Insecure: d.Get("insecure").(bool),
	}

	return nexusClient, nil
}

repository: hibri/terraform-provider-nexus

repo_name: hibri/terraform-provider-nexus


text:
@article{SpeckRuprecht2017,
title = "Toward fault-tolerant parallel-in-time integration with PFASST",
journal = "Parallel Computing",
volume = "62",
pages = "20 - 37",
year = "2017",
issn = "0167-8191",
url = "https://doi.org/10.1016/j.parco.2016.12.001",
doi = "10.1016/j.parco.2016.12.001",
author = "Robert Speck and Daniel Ruprecht",
abstract = "We introduce and analyze different strategies for the parallel-in-time integration method PFASST to recover from hard faults and subsequent data loss. Since PFASST stores solutions at multiple time steps on different processors, information from adjacent steps can be used to recover after a processor has failed. PFASST’s multi-level hierarchy allows to use the coarse level for correcting the reconstructed solution, which can help to minimize overhead. A theoretical model is devised linking overhead to the number of additional PFASST iterations required for convergence after a fault. The potential efficiency of different strategies is assessed in terms of required additional iterations for examples of diffusive and advective type."
}

repository: comp-maths/website

repo_name: comp-maths/website


text:
package helpers_test

import (
	"fmt"
	"testing"

	"github.com/convox/rack/pkg/helpers"
	"github.com/stretchr/testify/require"
)

func TestEnvDiff(t *testing.T) {
	testData := []struct {
		env1   map[string]string
		env2   map[string]string
		expect string
	}{
		{
			env1: map[string]string{
				"a": "1",
				"b": "1",
			},
			env2: map[string]string{
				"a": "2",
				"c": "1",
			},
			expect: "add:c change:a remove:b",
		},
		{
			env1: map[string]string{
				"a": "1",
				"b": "1",
			},
			env2: map[string]string{
				"a": "1",
				"b": "1",
			},
			expect: "",
		},
	}

	envGen := func(m map[string]string) string {
		out := ""
		for k, v := range m {
			out = out + fmt.Sprintf("%s=%s\n", k, v)
		}
		return out
	}

	for _, td := range testData {
		got, err := helpers.EnvDiff(envGen(td.env1), envGen(td.env2))
		require.NoError(t, err)
		require.Equal(t, td.expect, got)
	}
}

repository: convox/rack

repo_name: convox/rack

gha_license_id: NOASSERTION

gha_language: Go


text:
@article{foy-2007,
abstract = {The development and description of interventions to change professional practice are often limited by the lack of an explicit theoretical and empirical basis. We set out to develop an intervention to promote appropriate disclosure of a diagnosis of dementia based on theoretical and empirical work. We identified three key disclosure behaviours: finding out what the patient already knows or suspects about their diagnosis; using the actual words 'dementia' or 'Alzheimer's disease' when talking to the patient; and exploring what the diagnosis means to the patient. We conducted a questionnaire survey of older peoples' mental health teams (MHTs) based upon theoretical constructs from the Theory of Planned Behaviour (TPB) and Social Cognitive Theory (SCT) and used the findings to identify factors that predicted mental health professionals' intentions to perform each behaviour. We selected behaviour change techniques likely to alter these factors. The change techniques selected were: persuasive communication to target subjective norm; behavioural modelling and graded tasks to target self-efficacy; persuasive communication to target attitude towards the use of explicit terminology when talking to the patient; and behavioural modelling by MHTs to target perceived behavioural control for finding out what the patient already knows or suspects and exploring what the diagnosis means to the patient. We operationalised these behaviour change techniques using an interactive 'pen and paper' intervention designed to increase intentions to perform the three target behaviours. It is feasible to develop an intervention to change professional behaviour based upon theoretical models, empirical data and evidence based behaviour change techniques. The next step is to evaluate the effect of such an intervention on behavioural intention. We argue that this approach to development and reporting of interventions will contribute to the science of implementation by providing replicable interventions that illuminate the principles and processes underlying change.},
annote = {This article shows how models in Psychology (Theory of Planned Behavior and Social Cognitive Theory) allow you to develop effective interventions to change physician behavior.},
author = {Foy, Robbie and Francis, Jillian J and Johnston, Marie and Eccles, Martin and Lecouturier, Jan and Bamford, Claire and Grimshaw, Jeremy},
doi = {10.1186/1472-6963-7-207},
issn = {1472-6963},
journal = {BMC Health Services Research},
keywords = {Health Administration,Health Informatics,Nursing Management/Nursing Research,Public Health,Quality improvement},
mendeley-tags = {Quality improvement},
month = {dec},
number = {1},
pages = {207},
publisher = {BioMed Central},
title = {{The development of a theory-based intervention to promote appropriate disclosure of a diagnosis of dementia}},
url = {https://bmchealthservres.biomedcentral.com/articles/10.1186/1472-6963-7-207},
volume = {7},
  source = {19/06/foy-2007},
year = {2007},
urldate = {2019-06-22}
}

repository: pmean/build-website

repo_name: pmean/build-website


text:
%%% -*-BibTeX-*-
@article{Xie2020TMIb,
    author  = {Yutong Xie and Jianpeng Zhang and Hao Lu and Chunhua Shen and Yong Xia},
    title   = {{SESV}: Accurate Medical Image Segmentation by Predicting and Correcting Errors},
    journal = {IEEE Transactions on Medical Imaging},
    year    = {2020},
    eprint  = {},
    project = {},
    venue   = {TMI},
}


text:
package onehop

import (
	"testing"
	"time"
)

func newSlice() *Slice {

	s := NewSlice(ZERO_ID, FULL_ID)

	for id := 0; id < 32; id += 2 {

		s.Add(&Node{BytesToId([]byte{byte(id)}),
			nil, time.Now().Unix(), nil})
	}

	return s
}

func BenchmarkNewSlice(b *testing.B) {
	for i := 0; i < b.N; i++ {
		NewSlice(ZERO_ID, FULL_ID)
	}
}

func TestSliceAdd(t *testing.T) {
	s := newSlice()
	n := s.Get(BytesToId([]byte{16}))
	if n == nil {
		t.Errorf("Get error %s", n)
	}
	if s.Leader() != n {
		t.Errorf("Wrong leader")

	}
}

func BenchmarkSliceAdd(b *testing.B) {
	s := newSlice()
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		s.Add(&Node{string(i),
			nil, time.Now().Unix(), nil})

	}
}

func TestSliceDelete(t *testing.T) {
	s := newSlice()
	ok := s.Delete(BytesToId([]byte{16}))
	if !ok {
		t.Errorf("delete failed")
	}

	if s.Len() != 15 {
		t.Errorf("delete failed %d", s.Len())
	}

	if s.Leader().ID != BytesToId([]byte{14}) {
		t.Error("Delete failed", s.Leader().ID)
	}

	ok = s.Delete(BytesToId([]byte{30}))
	if !ok {
		t.Errorf("delete failed")
	}
	if s.Len() != 14 {
		t.Errorf("delete failed %d", s.Len())
	}
	if s.Leader().ID != BytesToId([]byte{14}) {
		t.Error("Delete failed", s.Leader())
	}
}

func BenchmarkSliceDelete(b *testing.B) {
	s := newSlice()
	id := BytesToId([]byte{0x1d})
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		s.Delete(id)
	}
}

func TestSliceSuccessorOf(t *testing.T) {
	s := newSlice()
	n := s.successorOf(BytesToId([]byte{8}))
	if n.ID != BytesToId([]byte{10}) {
		t.Errorf("SS failed:%s expect %s", n, BytesToId([]byte{10}))
	}
	n = s.successorOf(BytesToId([]byte{9}))
	if n.ID != BytesToId([]byte{10}) {
		t.Errorf("SS failed:%s expect %s", n, BytesToId([]byte{10}))
	}

	id := BytesToId([]byte{0x1d})
	n = s.successorOf(id)
	if n == nil || n.ID != BytesToId([]byte{0x1e}) {
		t.Errorf("SP failed:%s %s expect %s", n, id, BytesToId([]byte{0x1e}))
	}
	id = BytesToId([]byte{0x1e})
	n = s.successorOf(id)
	if n != nil {
		t.Errorf("SP failed:%s %s expect nil", n, id)
	}
}

func BenchmarkSliceSuccessorOf(b *testing.B) {
	s := newSlice()
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		s.successorOf("0000000000000000000008")
	}
}

func TestSlicePredecessorOf(t *testing.T) {
	s := newSlice()
	n := s.predecessorOf(BytesToId([]byte{8}))
	if n.ID != BytesToId([]byte{6}) {
		t.Errorf("SP failed:%s", n)
	}
	n = s.predecessorOf(BytesToId([]byte{0}))
	if n != nil {
		t.Errorf("SS failed:%s", n)
	}
}
func BenchmarkSlicePredecessorOf(b *testing.B) {
	s := newSlice()
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		s.predecessorOf("0000000000000000000008")
	}
}

func TestPreSucSame(t *testing.T) {

	s := newSlice()
	s.Nodes = s.Nodes[:3]
	sn := s.successorOf(BytesToId([]byte{4}))
	pn := s.predecessorOf(BytesToId([]byte{4}))

	if sn == pn {
		t.Errorf("SN:%s, PN:%s", sn, pn)
	}

	s.Nodes = s.Nodes[:2]
	sn = s.successorOf(BytesToId([]byte{4}))
	pn = s.predecessorOf(BytesToId([]byte{4}))

	if sn == pn {
		t.Errorf("SN:%s, PN:%s", sn, pn)
	}
}

repository: mengzhuo/onehop

repo_name: mengzhuo/onehop