├── .gitignore ├── LICENSE ├── README.md ├── cpp ├── README.md ├── client.cpp ├── hello.grpc.pb.cc ├── hello.grpc.pb.h ├── hello.pb.cc ├── hello.pb.h └── server.cpp ├── csharp ├── Hello │ ├── Hello.sln │ ├── Hello │ │ ├── Hello.cs │ │ ├── Hello.csproj │ │ ├── HelloGrpc.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── packages.config │ ├── HelloClient │ │ ├── HelloClient.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ └── packages.config │ └── HelloServer │ │ ├── HelloServer.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── AssemblyInfo.cs │ │ └── packages.config └── README.md ├── go ├── README.md ├── client.go ├── go.mod ├── go.sum ├── hello │ ├── hello.pb.go │ └── hello_grpc.pb.go └── server.go ├── hello.proto ├── node ├── README.md ├── client.js ├── package.json └── server.js ├── objective-c ├── HelloClient │ ├── Hello.podspec │ ├── HelloClient.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ ├── HelloClient.xcworkspace │ │ └── contents.xcworkspacedata │ ├── HelloClient │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ ├── Podfile │ └── Podfile.lock └── README.md ├── python ├── README.md ├── client.py ├── hello_pb2.py ├── hello_pb2_grpc.py ├── requirements.txt └── server.py ├── ruby ├── README.md ├── client.rb ├── hello_pb.rb ├── hello_services_pb.rb └── server.rb ├── rust ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── README.md ├── build.rs └── src │ ├── client.rs │ ├── lib.rs │ ├── proto │ └── mod.rs │ └── server.rs ├── scala ├── .gitignore ├── README.md ├── build.sbt ├── project │ ├── build.properties │ └── plugins.sbt └── src │ └── main │ └── scala │ └── hello │ ├── client │ └── HelloClient.scala │ └── server │ └── HelloServer.scala └── swift ├── HelloClient ├── Bridging-Header.h ├── Hello.podspec ├── HelloClient.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata ├── HelloClient.xcworkspace │ └── contents.xcworkspacedata ├── HelloClient │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ └── ViewController.swift ├── Podfile └── Podfile.lock └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/README.md -------------------------------------------------------------------------------- /cpp/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/README.md -------------------------------------------------------------------------------- /cpp/client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/client.cpp -------------------------------------------------------------------------------- /cpp/hello.grpc.pb.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/hello.grpc.pb.cc -------------------------------------------------------------------------------- /cpp/hello.grpc.pb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/hello.grpc.pb.h -------------------------------------------------------------------------------- /cpp/hello.pb.cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/hello.pb.cc -------------------------------------------------------------------------------- /cpp/hello.pb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/hello.pb.h -------------------------------------------------------------------------------- /cpp/server.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/cpp/server.cpp -------------------------------------------------------------------------------- /csharp/Hello/Hello.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/Hello.sln -------------------------------------------------------------------------------- /csharp/Hello/Hello/Hello.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/Hello/Hello.cs -------------------------------------------------------------------------------- /csharp/Hello/Hello/Hello.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/Hello/Hello.csproj -------------------------------------------------------------------------------- /csharp/Hello/Hello/HelloGrpc.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/Hello/HelloGrpc.cs -------------------------------------------------------------------------------- /csharp/Hello/Hello/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/Hello/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /csharp/Hello/Hello/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/Hello/packages.config -------------------------------------------------------------------------------- /csharp/Hello/HelloClient/HelloClient.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloClient/HelloClient.csproj -------------------------------------------------------------------------------- /csharp/Hello/HelloClient/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloClient/Program.cs -------------------------------------------------------------------------------- /csharp/Hello/HelloClient/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloClient/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /csharp/Hello/HelloClient/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloClient/packages.config -------------------------------------------------------------------------------- /csharp/Hello/HelloServer/HelloServer.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloServer/HelloServer.csproj -------------------------------------------------------------------------------- /csharp/Hello/HelloServer/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloServer/Program.cs -------------------------------------------------------------------------------- /csharp/Hello/HelloServer/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloServer/Properties/AssemblyInfo.cs -------------------------------------------------------------------------------- /csharp/Hello/HelloServer/packages.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/Hello/HelloServer/packages.config -------------------------------------------------------------------------------- /csharp/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/csharp/README.md -------------------------------------------------------------------------------- /go/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/README.md -------------------------------------------------------------------------------- /go/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/client.go -------------------------------------------------------------------------------- /go/go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/go.mod -------------------------------------------------------------------------------- /go/go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/go.sum -------------------------------------------------------------------------------- /go/hello/hello.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/hello/hello.pb.go -------------------------------------------------------------------------------- /go/hello/hello_grpc.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/hello/hello_grpc.pb.go -------------------------------------------------------------------------------- /go/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/go/server.go -------------------------------------------------------------------------------- /hello.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/hello.proto -------------------------------------------------------------------------------- /node/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/node/README.md -------------------------------------------------------------------------------- /node/client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/node/client.js -------------------------------------------------------------------------------- /node/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/node/package.json -------------------------------------------------------------------------------- /node/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/node/server.js -------------------------------------------------------------------------------- /objective-c/HelloClient/Hello.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/Hello.podspec -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/AppDelegate.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/AppDelegate.h -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/AppDelegate.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/AppDelegate.m -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/Info.plist -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/ViewController.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/ViewController.h -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/ViewController.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/ViewController.m -------------------------------------------------------------------------------- /objective-c/HelloClient/HelloClient/main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/HelloClient/main.m -------------------------------------------------------------------------------- /objective-c/HelloClient/Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/Podfile -------------------------------------------------------------------------------- /objective-c/HelloClient/Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/HelloClient/Podfile.lock -------------------------------------------------------------------------------- /objective-c/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/objective-c/README.md -------------------------------------------------------------------------------- /python/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/python/README.md -------------------------------------------------------------------------------- /python/client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/python/client.py -------------------------------------------------------------------------------- /python/hello_pb2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/python/hello_pb2.py -------------------------------------------------------------------------------- /python/hello_pb2_grpc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/python/hello_pb2_grpc.py -------------------------------------------------------------------------------- /python/requirements.txt: -------------------------------------------------------------------------------- 1 | grpcio-tools==1.2.0 2 | -------------------------------------------------------------------------------- /python/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/python/server.py -------------------------------------------------------------------------------- /ruby/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/ruby/README.md -------------------------------------------------------------------------------- /ruby/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/ruby/client.rb -------------------------------------------------------------------------------- /ruby/hello_pb.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/ruby/hello_pb.rb -------------------------------------------------------------------------------- /ruby/hello_services_pb.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/ruby/hello_services_pb.rb -------------------------------------------------------------------------------- /ruby/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/ruby/server.rb -------------------------------------------------------------------------------- /rust/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/.gitignore -------------------------------------------------------------------------------- /rust/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/Cargo.lock -------------------------------------------------------------------------------- /rust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/Cargo.toml -------------------------------------------------------------------------------- /rust/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/README.md -------------------------------------------------------------------------------- /rust/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/build.rs -------------------------------------------------------------------------------- /rust/src/client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/src/client.rs -------------------------------------------------------------------------------- /rust/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/src/lib.rs -------------------------------------------------------------------------------- /rust/src/proto/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/src/proto/mod.rs -------------------------------------------------------------------------------- /rust/src/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/rust/src/server.rs -------------------------------------------------------------------------------- /scala/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/scala/.gitignore -------------------------------------------------------------------------------- /scala/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/scala/README.md -------------------------------------------------------------------------------- /scala/build.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/scala/build.sbt -------------------------------------------------------------------------------- /scala/project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 0.13.17 -------------------------------------------------------------------------------- /scala/project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/scala/project/plugins.sbt -------------------------------------------------------------------------------- /scala/src/main/scala/hello/client/HelloClient.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/scala/src/main/scala/hello/client/HelloClient.scala -------------------------------------------------------------------------------- /scala/src/main/scala/hello/server/HelloServer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/scala/src/main/scala/hello/server/HelloServer.scala -------------------------------------------------------------------------------- /swift/HelloClient/Bridging-Header.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/Bridging-Header.h -------------------------------------------------------------------------------- /swift/HelloClient/Hello.podspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/Hello.podspec -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient/AppDelegate.swift -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient/Base.lproj/Main.storyboard -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient/Info.plist -------------------------------------------------------------------------------- /swift/HelloClient/HelloClient/ViewController.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/HelloClient/ViewController.swift -------------------------------------------------------------------------------- /swift/HelloClient/Podfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/Podfile -------------------------------------------------------------------------------- /swift/HelloClient/Podfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/HelloClient/Podfile.lock -------------------------------------------------------------------------------- /swift/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/avinassh/grpc-errors/HEAD/swift/README.md --------------------------------------------------------------------------------