diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index c155e420..9a3eabfe 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -172,903 +172,907 @@ }, { "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/scheduling/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "a6f093154748c3039febeea21b03268bcc284762" + "Rev": "c71adde6150917c4e19dfef555f427d5e085f05d" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "eca00f6165de33b6d8363bc4d87ce06e5abc638f" + "Rev": "40bc35ef007c446a3ed3d1a2d51ed2d9f30f55f4" }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1/fake", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/plugin/pkg/client/auth/exec", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/record", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/buffer", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" + }, + { + "ImportPath": "k8s.io/client-go/util/connrotation", + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/client-go/util/workqueue", - "Rev": "be44d9f40730a1ecde158d9bf53b184096e30586" + "Rev": "599e5c2d9af4e5b0bf4b675cb83ef1211e805890" }, { "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", - "Rev": "61db125d227fc9d4e373819a059516f32f7f23c7" + "Rev": "86e28c192d2743f0232b9bc5f0a531568ef9f2a5" } ] } diff --git a/vendor/k8s.io/api/core/v1/generated.pb.go b/vendor/k8s.io/api/core/v1/generated.pb.go index 570ea23f..a94e6fe0 100644 --- a/vendor/k8s.io/api/core/v1/generated.pb.go +++ b/vendor/k8s.io/api/core/v1/generated.pb.go @@ -192,6 +192,7 @@ limitations under the License. Service ServiceAccount ServiceAccountList + ServiceAccountTokenProjection ServiceList ServicePort ServiceProxyOptions @@ -963,90 +964,96 @@ func (m *ServiceAccountList) Reset() { *m = ServiceAccountLis func (*ServiceAccountList) ProtoMessage() {} func (*ServiceAccountList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{166} } +func (m *ServiceAccountTokenProjection) Reset() { *m = ServiceAccountTokenProjection{} } +func (*ServiceAccountTokenProjection) ProtoMessage() {} +func (*ServiceAccountTokenProjection) Descriptor() ([]byte, []int) { + return fileDescriptorGenerated, []int{167} +} + func (m *ServiceList) Reset() { *m = ServiceList{} } func (*ServiceList) ProtoMessage() {} -func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{167} } +func (*ServiceList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{168} } func (m *ServicePort) Reset() { *m = ServicePort{} } func (*ServicePort) ProtoMessage() {} -func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{168} } +func (*ServicePort) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{169} } func (m *ServiceProxyOptions) Reset() { *m = ServiceProxyOptions{} } func (*ServiceProxyOptions) ProtoMessage() {} -func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{169} } +func (*ServiceProxyOptions) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{170} } func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } func (*ServiceSpec) ProtoMessage() {} -func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{170} } +func (*ServiceSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{171} } func (m *ServiceStatus) Reset() { *m = ServiceStatus{} } func (*ServiceStatus) ProtoMessage() {} -func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{171} } +func (*ServiceStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{172} } func (m *SessionAffinityConfig) Reset() { *m = SessionAffinityConfig{} } func (*SessionAffinityConfig) ProtoMessage() {} -func (*SessionAffinityConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{172} } +func (*SessionAffinityConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{173} } func (m *StorageOSPersistentVolumeSource) Reset() { *m = StorageOSPersistentVolumeSource{} } func (*StorageOSPersistentVolumeSource) ProtoMessage() {} func (*StorageOSPersistentVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{173} + return fileDescriptorGenerated, []int{174} } func (m *StorageOSVolumeSource) Reset() { *m = StorageOSVolumeSource{} } func (*StorageOSVolumeSource) ProtoMessage() {} -func (*StorageOSVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{174} } +func (*StorageOSVolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{175} } func (m *Sysctl) Reset() { *m = Sysctl{} } func (*Sysctl) ProtoMessage() {} -func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{175} } +func (*Sysctl) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{176} } func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } func (*TCPSocketAction) ProtoMessage() {} -func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{176} } +func (*TCPSocketAction) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{177} } func (m *Taint) Reset() { *m = Taint{} } func (*Taint) ProtoMessage() {} -func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{177} } +func (*Taint) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{178} } func (m *Toleration) Reset() { *m = Toleration{} } func (*Toleration) ProtoMessage() {} -func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{178} } +func (*Toleration) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{179} } func (m *Volume) Reset() { *m = Volume{} } func (*Volume) ProtoMessage() {} -func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{179} } +func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{180} } func (m *VolumeDevice) Reset() { *m = VolumeDevice{} } func (*VolumeDevice) ProtoMessage() {} -func (*VolumeDevice) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{180} } +func (*VolumeDevice) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{181} } func (m *VolumeMount) Reset() { *m = VolumeMount{} } func (*VolumeMount) ProtoMessage() {} -func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{181} } +func (*VolumeMount) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{182} } func (m *VolumeNodeAffinity) Reset() { *m = VolumeNodeAffinity{} } func (*VolumeNodeAffinity) ProtoMessage() {} -func (*VolumeNodeAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{182} } +func (*VolumeNodeAffinity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{183} } func (m *VolumeProjection) Reset() { *m = VolumeProjection{} } func (*VolumeProjection) ProtoMessage() {} -func (*VolumeProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{183} } +func (*VolumeProjection) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{184} } func (m *VolumeSource) Reset() { *m = VolumeSource{} } func (*VolumeSource) ProtoMessage() {} -func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{184} } +func (*VolumeSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{185} } func (m *VsphereVirtualDiskVolumeSource) Reset() { *m = VsphereVirtualDiskVolumeSource{} } func (*VsphereVirtualDiskVolumeSource) ProtoMessage() {} func (*VsphereVirtualDiskVolumeSource) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{185} + return fileDescriptorGenerated, []int{186} } func (m *WeightedPodAffinityTerm) Reset() { *m = WeightedPodAffinityTerm{} } func (*WeightedPodAffinityTerm) ProtoMessage() {} func (*WeightedPodAffinityTerm) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{186} + return fileDescriptorGenerated, []int{187} } func init() { @@ -1217,6 +1224,7 @@ func init() { proto.RegisterType((*Service)(nil), "k8s.io.api.core.v1.Service") proto.RegisterType((*ServiceAccount)(nil), "k8s.io.api.core.v1.ServiceAccount") proto.RegisterType((*ServiceAccountList)(nil), "k8s.io.api.core.v1.ServiceAccountList") + proto.RegisterType((*ServiceAccountTokenProjection)(nil), "k8s.io.api.core.v1.ServiceAccountTokenProjection") proto.RegisterType((*ServiceList)(nil), "k8s.io.api.core.v1.ServiceList") proto.RegisterType((*ServicePort)(nil), "k8s.io.api.core.v1.ServicePort") proto.RegisterType((*ServiceProxyOptions)(nil), "k8s.io.api.core.v1.ServiceProxyOptions") @@ -9472,6 +9480,37 @@ func (m *ServiceAccountList) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *ServiceAccountTokenProjection) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ServiceAccountTokenProjection) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Audience))) + i += copy(dAtA[i:], m.Audience) + if m.ExpirationSeconds != nil { + dAtA[i] = 0x10 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(*m.ExpirationSeconds)) + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Path))) + i += copy(dAtA[i:], m.Path) + return i, nil +} + func (m *ServiceList) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -10157,6 +10196,16 @@ func (m *VolumeProjection) MarshalTo(dAtA []byte) (int, error) { } i += n208 } + if m.ServiceAccountToken != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ServiceAccountToken.Size())) + n209, err := m.ServiceAccountToken.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n209 + } return i, nil } @@ -10179,163 +10228,163 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n209, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n209 - } - if m.EmptyDir != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) - n210, err := m.EmptyDir.MarshalTo(dAtA[i:]) + n210, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n210 } - if m.GCEPersistentDisk != nil { - dAtA[i] = 0x1a + if m.EmptyDir != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n211, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) + n211, err := m.EmptyDir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n211 } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x22 + if m.GCEPersistentDisk != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n212, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) + n212, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n212 } - if m.GitRepo != nil { - dAtA[i] = 0x2a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) - n213, err := m.GitRepo.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n213, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n213 } - if m.Secret != nil { - dAtA[i] = 0x32 + if m.GitRepo != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n214, err := m.Secret.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) + n214, err := m.GitRepo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n214 } - if m.NFS != nil { - dAtA[i] = 0x3a + if m.Secret != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n215, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n215, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n215 } - if m.ISCSI != nil { - dAtA[i] = 0x42 + if m.NFS != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n216, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n216, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n216 } - if m.Glusterfs != nil { - dAtA[i] = 0x4a + if m.ISCSI != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n217, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n217, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n217 } - if m.PersistentVolumeClaim != nil { - dAtA[i] = 0x52 + if m.Glusterfs != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) - n218, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n218, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n218 } - if m.RBD != nil { - dAtA[i] = 0x5a + if m.PersistentVolumeClaim != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n219, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) + n219, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n219 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.RBD != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n220, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n220, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n220 } - if m.Cinder != nil { - dAtA[i] = 0x6a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n221, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n221, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n221 } - if m.CephFS != nil { - dAtA[i] = 0x72 + if m.Cinder != nil { + dAtA[i] = 0x6a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n222, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n222, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n222 } - if m.Flocker != nil { - dAtA[i] = 0x7a + if m.CephFS != nil { + dAtA[i] = 0x72 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n223, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n223, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n223 } + if m.Flocker != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n224, err := m.Flocker.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n224 + } if m.DownwardAPI != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n224, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n225, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n224 + i += n225 } if m.FC != nil { dAtA[i] = 0x8a @@ -10343,11 +10392,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n225, err := m.FC.MarshalTo(dAtA[i:]) + n226, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n225 + i += n226 } if m.AzureFile != nil { dAtA[i] = 0x92 @@ -10355,11 +10404,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n226, err := m.AzureFile.MarshalTo(dAtA[i:]) + n227, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n226 + i += n227 } if m.ConfigMap != nil { dAtA[i] = 0x9a @@ -10367,11 +10416,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n227, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n228, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n227 + i += n228 } if m.VsphereVolume != nil { dAtA[i] = 0xa2 @@ -10379,11 +10428,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n228, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + n229, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n229 } if m.Quobyte != nil { dAtA[i] = 0xaa @@ -10391,11 +10440,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n229, err := m.Quobyte.MarshalTo(dAtA[i:]) + n230, err := m.Quobyte.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n230 } if m.AzureDisk != nil { dAtA[i] = 0xb2 @@ -10403,11 +10452,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n230, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n231, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n231 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0xba @@ -10415,11 +10464,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n231, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n232, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n232 } if m.PortworxVolume != nil { dAtA[i] = 0xc2 @@ -10427,11 +10476,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n232, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n233, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n233 } if m.ScaleIO != nil { dAtA[i] = 0xca @@ -10439,11 +10488,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n233, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n234, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n234 } if m.Projected != nil { dAtA[i] = 0xd2 @@ -10451,11 +10500,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Projected.Size())) - n234, err := m.Projected.MarshalTo(dAtA[i:]) + n235, err := m.Projected.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n234 + i += n235 } if m.StorageOS != nil { dAtA[i] = 0xda @@ -10463,11 +10512,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n235, err := m.StorageOS.MarshalTo(dAtA[i:]) + n236, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n235 + i += n236 } return i, nil } @@ -10527,11 +10576,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodAffinityTerm.Size())) - n236, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) + n237, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n236 + i += n237 return i, nil } @@ -13555,6 +13604,19 @@ func (m *ServiceAccountList) Size() (n int) { return n } +func (m *ServiceAccountTokenProjection) Size() (n int) { + var l int + _ = l + l = len(m.Audience) + n += 1 + l + sovGenerated(uint64(l)) + if m.ExpirationSeconds != nil { + n += 1 + sovGenerated(uint64(*m.ExpirationSeconds)) + } + l = len(m.Path) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *ServiceList) Size() (n int) { var l int _ = l @@ -13808,6 +13870,10 @@ func (m *VolumeProjection) Size() (n int) { l = m.ConfigMap.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.ServiceAccountToken != nil { + l = m.ServiceAccountToken.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -16351,6 +16417,18 @@ func (this *ServiceAccountList) String() string { }, "") return s } +func (this *ServiceAccountTokenProjection) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ServiceAccountTokenProjection{`, + `Audience:` + fmt.Sprintf("%v", this.Audience) + `,`, + `ExpirationSeconds:` + valueToStringGenerated(this.ExpirationSeconds) + `,`, + `Path:` + fmt.Sprintf("%v", this.Path) + `,`, + `}`, + }, "") + return s +} func (this *ServiceList) String() string { if this == nil { return "nil" @@ -16569,6 +16647,7 @@ func (this *VolumeProjection) String() string { `Secret:` + strings.Replace(fmt.Sprintf("%v", this.Secret), "SecretProjection", "SecretProjection", 1) + `,`, `DownwardAPI:` + strings.Replace(fmt.Sprintf("%v", this.DownwardAPI), "DownwardAPIProjection", "DownwardAPIProjection", 1) + `,`, `ConfigMap:` + strings.Replace(fmt.Sprintf("%v", this.ConfigMap), "ConfigMapProjection", "ConfigMapProjection", 1) + `,`, + `ServiceAccountToken:` + strings.Replace(fmt.Sprintf("%v", this.ServiceAccountToken), "ServiceAccountTokenProjection", "ServiceAccountTokenProjection", 1) + `,`, `}`, }, "") return s @@ -45560,6 +45639,134 @@ func (m *ServiceAccountList) Unmarshal(dAtA []byte) error { } return nil } +func (m *ServiceAccountTokenProjection) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ServiceAccountTokenProjection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServiceAccountTokenProjection: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Audience", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Audience = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpirationSeconds", wireType) + } + var v int64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= (int64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + m.ExpirationSeconds = &v + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Path = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *ServiceList) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -48158,6 +48365,39 @@ func (m *VolumeProjection) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccountToken", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ServiceAccountToken == nil { + m.ServiceAccountToken = &ServiceAccountTokenProjection{} + } + if err := m.ServiceAccountToken.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -49495,778 +49735,782 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 12356 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x5d, 0x6c, 0x24, 0x57, - 0x76, 0x18, 0xbc, 0xd5, 0xdd, 0xfc, 0xe9, 0xc3, 0xff, 0x3b, 0x33, 0x12, 0x87, 0x92, 0xa6, 0x47, - 0xa5, 0xdd, 0xd1, 0x68, 0x25, 0x91, 0xd6, 0x48, 0x5a, 0xc9, 0xab, 0x5d, 0xd9, 0x24, 0x9b, 0x9c, - 0x69, 0xcd, 0x90, 0xd3, 0xba, 0xcd, 0x99, 0xd9, 0x5d, 0x6b, 0xd7, 0x5b, 0xec, 0xbe, 0x24, 0x4b, - 0x2c, 0x56, 0xb5, 0xaa, 0xaa, 0x39, 0x43, 0xc1, 0x06, 0xbe, 0x4f, 0x4e, 0x9c, 0x38, 0xf6, 0xc3, - 0x22, 0x36, 0x12, 0xc7, 0x36, 0x1c, 0x20, 0x71, 0x60, 0x6f, 0x9c, 0x04, 0x71, 0xec, 0xd8, 0xce, - 0xae, 0x93, 0x38, 0x4e, 0x1e, 0x9c, 0x97, 0x8d, 0x93, 0x97, 0x35, 0x60, 0x84, 0xb1, 0x69, 0x23, - 0x81, 0x1f, 0x12, 0x04, 0x31, 0x10, 0xc0, 0x8c, 0x11, 0x07, 0xf7, 0xb7, 0xee, 0xad, 0xae, 0xea, - 0x6e, 0x8e, 0x38, 0x94, 0x6c, 0xec, 0x5b, 0xf7, 0x3d, 0xe7, 0x9e, 0x7b, 0xeb, 0xfe, 0x9e, 0x73, - 0xee, 0xf9, 0x81, 0x37, 0x76, 0x5f, 0x8f, 0xe6, 0xdd, 0x60, 0x61, 0xb7, 0xb3, 0x49, 0x42, 0x9f, - 0xc4, 0x24, 0x5a, 0xd8, 0x27, 0x7e, 0x2b, 0x08, 0x17, 0x04, 0xc0, 0x69, 0xbb, 0x0b, 0xcd, 0x20, - 0x24, 0x0b, 0xfb, 0x2f, 0x2d, 0x6c, 0x13, 0x9f, 0x84, 0x4e, 0x4c, 0x5a, 0xf3, 0xed, 0x30, 0x88, - 0x03, 0x84, 0x38, 0xce, 0xbc, 0xd3, 0x76, 0xe7, 0x29, 0xce, 0xfc, 0xfe, 0x4b, 0x73, 0x2f, 0x6e, - 0xbb, 0xf1, 0x4e, 0x67, 0x73, 0xbe, 0x19, 0xec, 0x2d, 0x6c, 0x07, 0xdb, 0xc1, 0x02, 0x43, 0xdd, - 0xec, 0x6c, 0xb1, 0x7f, 0xec, 0x0f, 0xfb, 0xc5, 0x49, 0xcc, 0xad, 0x25, 0xcd, 0x90, 0x07, 0x31, - 0xf1, 0x23, 0x37, 0xf0, 0xa3, 0x17, 0x9d, 0xb6, 0x1b, 0x91, 0x70, 0x9f, 0x84, 0x0b, 0xed, 0xdd, - 0x6d, 0x0a, 0x8b, 0x4c, 0x84, 0x85, 0xfd, 0x97, 0x36, 0x49, 0xec, 0x74, 0xf5, 0x68, 0xee, 0x95, - 0x84, 0xdc, 0x9e, 0xd3, 0xdc, 0x71, 0x7d, 0x12, 0x1e, 0x48, 0x1a, 0x0b, 0x21, 0x89, 0x82, 0x4e, - 0xd8, 0x24, 0x27, 0xaa, 0x15, 0x2d, 0xec, 0x91, 0xd8, 0xc9, 0xf8, 0xfa, 0xb9, 0x85, 0xbc, 0x5a, - 0x61, 0xc7, 0x8f, 0xdd, 0xbd, 0xee, 0x66, 0x3e, 0xd3, 0xaf, 0x42, 0xd4, 0xdc, 0x21, 0x7b, 0x4e, - 0x57, 0xbd, 0x97, 0xf3, 0xea, 0x75, 0x62, 0xd7, 0x5b, 0x70, 0xfd, 0x38, 0x8a, 0xc3, 0x74, 0x25, - 0xfb, 0xdb, 0x16, 0x5c, 0x5e, 0xbc, 0xd7, 0x58, 0xf1, 0x9c, 0x28, 0x76, 0x9b, 0x4b, 0x5e, 0xd0, - 0xdc, 0x6d, 0xc4, 0x41, 0x48, 0xee, 0x06, 0x5e, 0x67, 0x8f, 0x34, 0xd8, 0x40, 0xa0, 0x17, 0x60, - 0x74, 0x9f, 0xfd, 0xaf, 0x55, 0x67, 0xad, 0xcb, 0xd6, 0xd5, 0xf2, 0xd2, 0xf4, 0x6f, 0x1f, 0x56, - 0x3e, 0x71, 0x74, 0x58, 0x19, 0xbd, 0x2b, 0xca, 0xb1, 0xc2, 0x40, 0x57, 0x60, 0x78, 0x2b, 0xda, - 0x38, 0x68, 0x93, 0xd9, 0x02, 0xc3, 0x9d, 0x14, 0xb8, 0xc3, 0xab, 0x0d, 0x5a, 0x8a, 0x05, 0x14, - 0x2d, 0x40, 0xb9, 0xed, 0x84, 0xb1, 0x1b, 0xbb, 0x81, 0x3f, 0x5b, 0xbc, 0x6c, 0x5d, 0x1d, 0x5a, - 0x9a, 0x11, 0xa8, 0xe5, 0xba, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x4e, 0xeb, 0xb6, 0xef, - 0x1d, 0xcc, 0x96, 0x2e, 0x5b, 0x57, 0x47, 0x93, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0x53, - 0x05, 0x18, 0x5d, 0xdc, 0xda, 0x72, 0x7d, 0x37, 0x3e, 0x40, 0x77, 0x61, 0xdc, 0x0f, 0x5a, 0x44, - 0xfe, 0x67, 0x5f, 0x31, 0x76, 0xed, 0xf2, 0x7c, 0xf7, 0xca, 0x9c, 0x5f, 0xd7, 0xf0, 0x96, 0xa6, - 0x8f, 0x0e, 0x2b, 0xe3, 0x7a, 0x09, 0x36, 0xe8, 0x20, 0x0c, 0x63, 0xed, 0xa0, 0xa5, 0xc8, 0x16, - 0x18, 0xd9, 0x4a, 0x16, 0xd9, 0x7a, 0x82, 0xb6, 0x34, 0x75, 0x74, 0x58, 0x19, 0xd3, 0x0a, 0xb0, - 0x4e, 0x04, 0x6d, 0xc2, 0x14, 0xfd, 0xeb, 0xc7, 0xae, 0xa2, 0x5b, 0x64, 0x74, 0x9f, 0xc9, 0xa3, - 0xab, 0xa1, 0x2e, 0x9d, 0x3b, 0x3a, 0xac, 0x4c, 0xa5, 0x0a, 0x71, 0x9a, 0xa0, 0xfd, 0x3e, 0x4c, - 0x2e, 0xc6, 0xb1, 0xd3, 0xdc, 0x21, 0x2d, 0x3e, 0x83, 0xe8, 0x15, 0x28, 0xf9, 0xce, 0x1e, 0x11, - 0xf3, 0x7b, 0x59, 0x0c, 0x6c, 0x69, 0xdd, 0xd9, 0x23, 0xc7, 0x87, 0x95, 0xe9, 0x3b, 0xbe, 0xfb, - 0x5e, 0x47, 0xac, 0x0a, 0x5a, 0x86, 0x19, 0x36, 0xba, 0x06, 0xd0, 0x22, 0xfb, 0x6e, 0x93, 0xd4, - 0x9d, 0x78, 0x47, 0xcc, 0x37, 0x12, 0x75, 0xa1, 0xaa, 0x20, 0x58, 0xc3, 0xb2, 0x1f, 0x40, 0x79, - 0x71, 0x3f, 0x70, 0x5b, 0xf5, 0xa0, 0x15, 0xa1, 0x5d, 0x98, 0x6a, 0x87, 0x64, 0x8b, 0x84, 0xaa, - 0x68, 0xd6, 0xba, 0x5c, 0xbc, 0x3a, 0x76, 0xed, 0x6a, 0xe6, 0xc7, 0x9a, 0xa8, 0x2b, 0x7e, 0x1c, - 0x1e, 0x2c, 0x3d, 0x2e, 0xda, 0x9b, 0x4a, 0x41, 0x71, 0x9a, 0xb2, 0xfd, 0xef, 0x0a, 0x70, 0x61, - 0xf1, 0xfd, 0x4e, 0x48, 0xaa, 0x6e, 0xb4, 0x9b, 0x5e, 0xe1, 0x2d, 0x37, 0xda, 0x5d, 0x4f, 0x46, - 0x40, 0x2d, 0xad, 0xaa, 0x28, 0xc7, 0x0a, 0x03, 0xbd, 0x08, 0x23, 0xf4, 0xf7, 0x1d, 0x5c, 0x13, - 0x9f, 0x7c, 0x4e, 0x20, 0x8f, 0x55, 0x9d, 0xd8, 0xa9, 0x72, 0x10, 0x96, 0x38, 0x68, 0x0d, 0xc6, - 0x9a, 0x6c, 0x43, 0x6e, 0xaf, 0x05, 0x2d, 0xc2, 0x26, 0xb3, 0xbc, 0xf4, 0x3c, 0x45, 0x5f, 0x4e, - 0x8a, 0x8f, 0x0f, 0x2b, 0xb3, 0xbc, 0x6f, 0x82, 0x84, 0x06, 0xc3, 0x7a, 0x7d, 0x64, 0xab, 0xfd, - 0x55, 0x62, 0x94, 0x20, 0x63, 0x6f, 0x5d, 0xd5, 0xb6, 0xca, 0x10, 0xdb, 0x2a, 0xe3, 0xd9, 0xdb, - 0x04, 0xbd, 0x04, 0xa5, 0x5d, 0xd7, 0x6f, 0xcd, 0x0e, 0x33, 0x5a, 0x4f, 0xd1, 0x39, 0xbf, 0xe9, - 0xfa, 0xad, 0xe3, 0xc3, 0xca, 0x8c, 0xd1, 0x1d, 0x5a, 0x88, 0x19, 0xaa, 0xfd, 0x27, 0x16, 0x54, - 0x18, 0x6c, 0xd5, 0xf5, 0x48, 0x9d, 0x84, 0x91, 0x1b, 0xc5, 0xc4, 0x8f, 0x8d, 0x01, 0xbd, 0x06, - 0x10, 0x91, 0x66, 0x48, 0x62, 0x6d, 0x48, 0xd5, 0xc2, 0x68, 0x28, 0x08, 0xd6, 0xb0, 0xe8, 0x81, - 0x10, 0xed, 0x38, 0x21, 0x5b, 0x5f, 0x62, 0x60, 0xd5, 0x81, 0xd0, 0x90, 0x00, 0x9c, 0xe0, 0x18, - 0x07, 0x42, 0xb1, 0xdf, 0x81, 0x80, 0x3e, 0x0f, 0x53, 0x49, 0x63, 0x51, 0xdb, 0x69, 0xca, 0x01, - 0x64, 0x5b, 0xa6, 0x61, 0x82, 0x70, 0x1a, 0xd7, 0xfe, 0x87, 0x96, 0x58, 0x3c, 0xf4, 0xab, 0x3f, - 0xe6, 0xdf, 0x6a, 0xff, 0xba, 0x05, 0x23, 0x4b, 0xae, 0xdf, 0x72, 0xfd, 0x6d, 0xf4, 0x55, 0x18, - 0xa5, 0x77, 0x53, 0xcb, 0x89, 0x1d, 0x71, 0xee, 0x7d, 0x97, 0xb6, 0xb7, 0xd4, 0x55, 0x31, 0xdf, - 0xde, 0xdd, 0xa6, 0x05, 0xd1, 0x3c, 0xc5, 0xa6, 0xbb, 0xed, 0xf6, 0xe6, 0xbb, 0xa4, 0x19, 0xaf, - 0x91, 0xd8, 0x49, 0x3e, 0x27, 0x29, 0xc3, 0x8a, 0x2a, 0xba, 0x09, 0xc3, 0xb1, 0x13, 0x6e, 0x93, - 0x58, 0x1c, 0x80, 0x99, 0x07, 0x15, 0xaf, 0x89, 0xe9, 0x8e, 0x24, 0x7e, 0x93, 0x24, 0xd7, 0xc2, - 0x06, 0xab, 0x8a, 0x05, 0x09, 0xfb, 0x6f, 0x0c, 0xc3, 0xc5, 0xe5, 0x46, 0x2d, 0x67, 0x5d, 0x5d, - 0x81, 0xe1, 0x56, 0xe8, 0xee, 0x93, 0x50, 0x8c, 0xb3, 0xa2, 0x52, 0x65, 0xa5, 0x58, 0x40, 0xd1, - 0xeb, 0x30, 0xce, 0x2f, 0xa4, 0x1b, 0x8e, 0xdf, 0xf2, 0xe4, 0x10, 0x9f, 0x17, 0xd8, 0xe3, 0x77, - 0x35, 0x18, 0x36, 0x30, 0x4f, 0xb8, 0xa8, 0xae, 0xa4, 0x36, 0x63, 0xde, 0x65, 0xf7, 0x23, 0x16, - 0x4c, 0xf3, 0x66, 0x16, 0xe3, 0x38, 0x74, 0x37, 0x3b, 0x31, 0x89, 0x66, 0x87, 0xd8, 0x49, 0xb7, - 0x9c, 0x35, 0x5a, 0xb9, 0x23, 0x30, 0x7f, 0x37, 0x45, 0x85, 0x1f, 0x82, 0xb3, 0xa2, 0xdd, 0xe9, - 0x34, 0x18, 0x77, 0x35, 0x8b, 0x7e, 0xc8, 0x82, 0xb9, 0x66, 0xe0, 0xc7, 0x61, 0xe0, 0x79, 0x24, - 0xac, 0x77, 0x36, 0x3d, 0x37, 0xda, 0xe1, 0xeb, 0x14, 0x93, 0x2d, 0x76, 0x12, 0xe4, 0xcc, 0xa1, - 0x42, 0x12, 0x73, 0x78, 0xe9, 0xe8, 0xb0, 0x32, 0xb7, 0x9c, 0x4b, 0x0a, 0xf7, 0x68, 0x06, 0xed, - 0x02, 0xa2, 0x57, 0x69, 0x23, 0x76, 0xb6, 0x49, 0xd2, 0xf8, 0xc8, 0xe0, 0x8d, 0x3f, 0x76, 0x74, - 0x58, 0x41, 0xeb, 0x5d, 0x24, 0x70, 0x06, 0x59, 0xf4, 0x1e, 0x9c, 0xa7, 0xa5, 0x5d, 0xdf, 0x3a, - 0x3a, 0x78, 0x73, 0xb3, 0x47, 0x87, 0x95, 0xf3, 0xeb, 0x19, 0x44, 0x70, 0x26, 0xe9, 0xb9, 0x65, - 0xb8, 0x90, 0x39, 0x55, 0x68, 0x1a, 0x8a, 0xbb, 0x84, 0xb3, 0x20, 0x65, 0x4c, 0x7f, 0xa2, 0xf3, - 0x30, 0xb4, 0xef, 0x78, 0x1d, 0xb1, 0x4a, 0x31, 0xff, 0xf3, 0xd9, 0xc2, 0xeb, 0x96, 0xdd, 0x84, - 0xf1, 0x65, 0xa7, 0xed, 0x6c, 0xba, 0x9e, 0x1b, 0xbb, 0x24, 0x42, 0xcf, 0x42, 0xd1, 0x69, 0xb5, - 0xd8, 0x15, 0x59, 0x5e, 0xba, 0x70, 0x74, 0x58, 0x29, 0x2e, 0xb6, 0xe8, 0x59, 0x0d, 0x0a, 0xeb, - 0x00, 0x53, 0x0c, 0xf4, 0x69, 0x28, 0xb5, 0xc2, 0xa0, 0x3d, 0x5b, 0x60, 0x98, 0x74, 0xa8, 0x4a, - 0xd5, 0x30, 0x68, 0xa7, 0x50, 0x19, 0x8e, 0xfd, 0x9b, 0x05, 0x78, 0x72, 0x99, 0xb4, 0x77, 0x56, - 0x1b, 0x39, 0x9b, 0xee, 0x2a, 0x8c, 0xee, 0x05, 0xbe, 0x1b, 0x07, 0x61, 0x24, 0x9a, 0x66, 0xb7, - 0xc9, 0x9a, 0x28, 0xc3, 0x0a, 0x8a, 0x2e, 0x43, 0xa9, 0x9d, 0x70, 0x02, 0xe3, 0x92, 0x8b, 0x60, - 0x3c, 0x00, 0x83, 0x50, 0x8c, 0x4e, 0x44, 0x42, 0x71, 0x0b, 0x2a, 0x8c, 0x3b, 0x11, 0x09, 0x31, - 0x83, 0x24, 0xc7, 0x29, 0x3d, 0x68, 0xc5, 0xb6, 0x4a, 0x1d, 0xa7, 0x14, 0x82, 0x35, 0x2c, 0x54, - 0x87, 0x72, 0xa4, 0x26, 0x75, 0x68, 0xf0, 0x49, 0x9d, 0x60, 0xe7, 0xad, 0x9a, 0xc9, 0x84, 0x88, - 0x71, 0x0c, 0x0c, 0xf7, 0x3d, 0x6f, 0xbf, 0x59, 0x00, 0xc4, 0x87, 0xf0, 0x2f, 0xd8, 0xc0, 0xdd, - 0xe9, 0x1e, 0xb8, 0x4c, 0xce, 0xeb, 0x56, 0xd0, 0x74, 0xbc, 0xf4, 0x11, 0x7e, 0x5a, 0xa3, 0xf7, - 0x93, 0x16, 0xa0, 0x65, 0xd7, 0x6f, 0x91, 0xf0, 0x0c, 0xc4, 0x8e, 0x93, 0x5d, 0xa4, 0xb7, 0x60, - 0x72, 0xd9, 0x73, 0x89, 0x1f, 0xd7, 0xea, 0xcb, 0x81, 0xbf, 0xe5, 0x6e, 0xa3, 0xcf, 0xc2, 0x24, - 0x95, 0xc2, 0x82, 0x4e, 0xdc, 0x20, 0xcd, 0xc0, 0x67, 0x0c, 0x2b, 0x95, 0x5d, 0xd0, 0xd1, 0x61, - 0x65, 0x72, 0xc3, 0x80, 0xe0, 0x14, 0xa6, 0xfd, 0x7b, 0xf4, 0x43, 0x83, 0xbd, 0x76, 0xe0, 0x13, - 0x3f, 0x5e, 0x0e, 0xfc, 0x16, 0x17, 0x6c, 0x3e, 0x0b, 0xa5, 0x98, 0x76, 0x9c, 0x7f, 0xe4, 0x15, - 0x39, 0xb5, 0xb4, 0xbb, 0xc7, 0x87, 0x95, 0xc7, 0xba, 0x6b, 0xb0, 0x0f, 0x62, 0x75, 0xd0, 0x77, - 0xc3, 0x70, 0x14, 0x3b, 0x71, 0x27, 0x12, 0x9f, 0xfd, 0xb4, 0xfc, 0xec, 0x06, 0x2b, 0x3d, 0x3e, - 0xac, 0x4c, 0xa9, 0x6a, 0xbc, 0x08, 0x8b, 0x0a, 0xe8, 0x39, 0x18, 0xd9, 0x23, 0x51, 0xe4, 0x6c, - 0x4b, 0x9e, 0x74, 0x4a, 0xd4, 0x1d, 0x59, 0xe3, 0xc5, 0x58, 0xc2, 0xd1, 0x33, 0x30, 0x44, 0xc2, - 0x30, 0x08, 0xc5, 0xaa, 0x9a, 0x10, 0x88, 0x43, 0x2b, 0xb4, 0x10, 0x73, 0x98, 0xfd, 0x1f, 0x2c, - 0x98, 0x52, 0x7d, 0xe5, 0x6d, 0x9d, 0x01, 0xf3, 0xf1, 0x25, 0x80, 0xa6, 0xfc, 0xc0, 0x88, 0x9d, - 0x77, 0x63, 0xd7, 0xae, 0x64, 0x5e, 0xa9, 0x5d, 0xc3, 0x98, 0x50, 0x56, 0x45, 0x11, 0xd6, 0xa8, - 0xd9, 0xff, 0xd2, 0x82, 0x73, 0xa9, 0x2f, 0xba, 0xe5, 0x46, 0x31, 0x7a, 0xa7, 0xeb, 0xab, 0xe6, - 0x07, 0xfb, 0x2a, 0x5a, 0x9b, 0x7d, 0x93, 0x5a, 0x73, 0xb2, 0x44, 0xfb, 0xa2, 0x1b, 0x30, 0xe4, - 0xc6, 0x64, 0x4f, 0x7e, 0xcc, 0x33, 0x3d, 0x3f, 0x86, 0xf7, 0x2a, 0x99, 0x91, 0x1a, 0xad, 0x89, - 0x39, 0x01, 0xfb, 0xc7, 0x8b, 0x50, 0xe6, 0xcb, 0x76, 0xcd, 0x69, 0x9f, 0xc1, 0x5c, 0xd4, 0xa0, - 0xc4, 0xa8, 0xf3, 0x8e, 0x3f, 0x9b, 0xdd, 0x71, 0xd1, 0x9d, 0x79, 0x2a, 0x59, 0x70, 0xe6, 0x45, - 0x1d, 0x66, 0xb4, 0x08, 0x33, 0x12, 0xc8, 0x01, 0xd8, 0x74, 0x7d, 0x27, 0x3c, 0xa0, 0x65, 0xb3, - 0x45, 0x46, 0xf0, 0xc5, 0xde, 0x04, 0x97, 0x14, 0x3e, 0x27, 0xab, 0xfa, 0x9a, 0x00, 0xb0, 0x46, - 0x74, 0xee, 0x35, 0x28, 0x2b, 0xe4, 0x93, 0xdc, 0xca, 0x73, 0x9f, 0x87, 0xa9, 0x54, 0x5b, 0xfd, - 0xaa, 0x8f, 0xeb, 0x97, 0xfa, 0x37, 0xd8, 0x29, 0x20, 0x7a, 0xbd, 0xe2, 0xef, 0x8b, 0xe3, 0xee, - 0x7d, 0x38, 0xef, 0x65, 0x9c, 0xb2, 0x62, 0xaa, 0x06, 0x3f, 0x95, 0x9f, 0x14, 0x9f, 0x7d, 0x3e, - 0x0b, 0x8a, 0x33, 0xdb, 0xa0, 0x17, 0x55, 0xd0, 0xa6, 0x6b, 0xde, 0xf1, 0x58, 0x7f, 0x85, 0xbc, - 0x78, 0x5b, 0x94, 0x61, 0x05, 0xa5, 0x47, 0xd8, 0x79, 0xd5, 0xf9, 0x9b, 0xe4, 0xa0, 0x41, 0x3c, - 0xd2, 0x8c, 0x83, 0xf0, 0x23, 0xed, 0xfe, 0x53, 0x7c, 0xf4, 0xf9, 0x09, 0x38, 0x26, 0x08, 0x14, - 0x6f, 0x92, 0x03, 0x3e, 0x15, 0xfa, 0xd7, 0x15, 0x7b, 0x7e, 0xdd, 0x2f, 0x59, 0x30, 0xa1, 0xbe, - 0xee, 0x0c, 0xb6, 0xfa, 0x92, 0xb9, 0xd5, 0x9f, 0xea, 0xb9, 0xc0, 0x73, 0x36, 0xf9, 0x37, 0x0b, - 0x70, 0x51, 0xe1, 0x50, 0x06, 0x95, 0xff, 0x11, 0xab, 0x6a, 0x01, 0xca, 0xbe, 0x92, 0x77, 0x2d, - 0x53, 0xd0, 0x4c, 0xa4, 0xdd, 0x04, 0x87, 0xf2, 0x19, 0x7e, 0x22, 0x94, 0x8e, 0xeb, 0x8a, 0x20, - 0xa1, 0xf4, 0x59, 0x82, 0x62, 0xc7, 0x6d, 0x89, 0x3b, 0xe3, 0xbb, 0xe4, 0x68, 0xdf, 0xa9, 0x55, - 0x8f, 0x0f, 0x2b, 0x4f, 0xe7, 0x29, 0x21, 0xe9, 0x65, 0x15, 0xcd, 0xdf, 0xa9, 0x55, 0x31, 0xad, - 0x8c, 0x16, 0x61, 0x4a, 0xea, 0x59, 0xef, 0x52, 0xa6, 0x33, 0xf0, 0xc5, 0xd5, 0xa2, 0xb4, 0x39, - 0xd8, 0x04, 0xe3, 0x34, 0x3e, 0xaa, 0xc2, 0xf4, 0x6e, 0x67, 0x93, 0x78, 0x24, 0xe6, 0x1f, 0x7c, - 0x93, 0x70, 0x5d, 0x47, 0x39, 0x11, 0x86, 0x6e, 0xa6, 0xe0, 0xb8, 0xab, 0x86, 0xfd, 0xe7, 0xec, - 0x88, 0x17, 0xa3, 0x57, 0x0f, 0x03, 0xba, 0xb0, 0x28, 0xf5, 0x8f, 0x72, 0x39, 0x0f, 0xb2, 0x2a, - 0x6e, 0x92, 0x83, 0x8d, 0x80, 0xb2, 0x87, 0xd9, 0xab, 0xc2, 0x58, 0xf3, 0xa5, 0x9e, 0x6b, 0xfe, - 0x57, 0x0a, 0x70, 0x41, 0x8d, 0x80, 0xc1, 0x80, 0xfd, 0x45, 0x1f, 0x83, 0x97, 0x60, 0xac, 0x45, - 0xb6, 0x9c, 0x8e, 0x17, 0x2b, 0xc5, 0xdb, 0x10, 0x57, 0xbe, 0x56, 0x93, 0x62, 0xac, 0xe3, 0x9c, - 0x60, 0xd8, 0x7e, 0x6e, 0x8c, 0xdd, 0xad, 0xb1, 0x43, 0xd7, 0xb8, 0xda, 0x35, 0x56, 0xee, 0xae, - 0x79, 0x06, 0x86, 0xdc, 0x3d, 0xca, 0x6b, 0x15, 0x4c, 0x16, 0xaa, 0x46, 0x0b, 0x31, 0x87, 0xa1, - 0x4f, 0xc1, 0x48, 0x33, 0xd8, 0xdb, 0x73, 0xfc, 0x16, 0xbb, 0xf2, 0xca, 0x4b, 0x63, 0x94, 0x1d, - 0x5b, 0xe6, 0x45, 0x58, 0xc2, 0xd0, 0x93, 0x50, 0x72, 0xc2, 0xed, 0x68, 0xb6, 0xc4, 0x70, 0x46, - 0x69, 0x4b, 0x8b, 0xe1, 0x76, 0x84, 0x59, 0x29, 0x95, 0x03, 0xee, 0x07, 0xe1, 0xae, 0xeb, 0x6f, - 0x57, 0xdd, 0x50, 0x6c, 0x09, 0x75, 0x17, 0xde, 0x53, 0x10, 0xac, 0x61, 0xa1, 0x55, 0x18, 0x6a, - 0x07, 0x61, 0x1c, 0xcd, 0x0e, 0xb3, 0xe1, 0x7e, 0x3a, 0xe7, 0x20, 0xe2, 0x5f, 0x5b, 0x0f, 0xc2, - 0x38, 0xf9, 0x00, 0xfa, 0x2f, 0xc2, 0xbc, 0x3a, 0xfa, 0x6e, 0x28, 0x12, 0x7f, 0x7f, 0x76, 0x84, - 0x51, 0x99, 0xcb, 0xa2, 0xb2, 0xe2, 0xef, 0xdf, 0x75, 0xc2, 0xe4, 0x94, 0x5e, 0xf1, 0xf7, 0x31, - 0xad, 0x83, 0xbe, 0x08, 0x65, 0xb9, 0xc5, 0x23, 0x21, 0x98, 0x67, 0x2e, 0x31, 0x79, 0x30, 0x60, - 0xf2, 0x5e, 0xc7, 0x0d, 0xc9, 0x1e, 0xf1, 0xe3, 0x28, 0x39, 0xd3, 0x24, 0x34, 0xc2, 0x09, 0x35, - 0xf4, 0x45, 0xa9, 0x0d, 0x5a, 0x0b, 0x3a, 0x7e, 0x1c, 0xcd, 0x96, 0x59, 0xf7, 0x32, 0xf5, 0xf4, - 0x77, 0x13, 0xbc, 0xb4, 0xba, 0x88, 0x57, 0xc6, 0x06, 0x29, 0x84, 0x61, 0xc2, 0x73, 0xf7, 0x89, - 0x4f, 0xa2, 0xa8, 0x1e, 0x06, 0x9b, 0x64, 0x16, 0x58, 0xcf, 0x2f, 0x66, 0xab, 0xaf, 0x83, 0x4d, - 0xb2, 0x34, 0x73, 0x74, 0x58, 0x99, 0xb8, 0xa5, 0xd7, 0xc1, 0x26, 0x09, 0x74, 0x07, 0x26, 0xa9, - 0x00, 0xe2, 0x26, 0x44, 0xc7, 0xfa, 0x11, 0x65, 0xd2, 0x07, 0x36, 0x2a, 0xe1, 0x14, 0x11, 0xf4, - 0x16, 0x94, 0x3d, 0x77, 0x8b, 0x34, 0x0f, 0x9a, 0x1e, 0x99, 0x1d, 0x67, 0x14, 0x33, 0xb7, 0xd5, - 0x2d, 0x89, 0xc4, 0x05, 0x3c, 0xf5, 0x17, 0x27, 0xd5, 0xd1, 0x5d, 0x78, 0x2c, 0x26, 0xe1, 0x9e, - 0xeb, 0x3b, 0x74, 0x3b, 0x08, 0x79, 0x81, 0x3d, 0x02, 0x4c, 0xb0, 0xf5, 0x76, 0x49, 0x0c, 0xdd, - 0x63, 0x1b, 0x99, 0x58, 0x38, 0xa7, 0x36, 0xba, 0x0d, 0x53, 0x6c, 0x27, 0xd4, 0x3b, 0x9e, 0x57, - 0x0f, 0x3c, 0xb7, 0x79, 0x30, 0x3b, 0xc9, 0x08, 0x7e, 0x4a, 0xde, 0x0b, 0x35, 0x13, 0x7c, 0x7c, - 0x58, 0x81, 0xe4, 0x1f, 0x4e, 0xd7, 0x46, 0x9b, 0x4c, 0xeb, 0xdb, 0x09, 0xdd, 0xf8, 0x80, 0xae, - 0x5f, 0xf2, 0x20, 0x9e, 0x9d, 0xea, 0xa9, 0x1f, 0xd0, 0x51, 0x95, 0x6a, 0x58, 0x2f, 0xc4, 0x69, - 0x82, 0x74, 0x6b, 0x47, 0x71, 0xcb, 0xf5, 0x67, 0xa7, 0xd9, 0x89, 0xa1, 0x76, 0x46, 0x83, 0x16, - 0x62, 0x0e, 0x63, 0x1a, 0x5f, 0xfa, 0xe3, 0x36, 0x3d, 0x41, 0x67, 0x18, 0x62, 0xa2, 0xf1, 0x95, - 0x00, 0x9c, 0xe0, 0x50, 0xa6, 0x26, 0x8e, 0x0f, 0x66, 0x11, 0x43, 0x55, 0xdb, 0x65, 0x63, 0xe3, - 0x8b, 0x98, 0x96, 0xa3, 0x5b, 0x30, 0x42, 0xfc, 0xfd, 0xd5, 0x30, 0xd8, 0x9b, 0x3d, 0x97, 0xbf, - 0x67, 0x57, 0x38, 0x0a, 0x3f, 0xd0, 0x13, 0x01, 0x4f, 0x14, 0x63, 0x49, 0x02, 0x3d, 0x80, 0xd9, - 0x8c, 0x19, 0xe1, 0x13, 0x70, 0x9e, 0x4d, 0xc0, 0xe7, 0x44, 0xdd, 0xd9, 0x8d, 0x1c, 0xbc, 0xe3, - 0x1e, 0x30, 0x9c, 0x4b, 0x1d, 0x7d, 0x19, 0x26, 0xf8, 0x86, 0xe2, 0xcf, 0x45, 0xd1, 0xec, 0x05, - 0xf6, 0x35, 0x97, 0xf3, 0x37, 0x27, 0x47, 0x5c, 0xba, 0x20, 0x3a, 0x34, 0xa1, 0x97, 0x46, 0xd8, - 0xa4, 0x66, 0x6f, 0xc2, 0xa4, 0x3a, 0xb7, 0xd8, 0xd2, 0x41, 0x15, 0x18, 0x62, 0xdc, 0x8e, 0xd0, - 0xc8, 0x94, 0xe9, 0x4c, 0x31, 0x4e, 0x08, 0xf3, 0x72, 0x36, 0x53, 0xee, 0xfb, 0x64, 0xe9, 0x20, - 0x26, 0x5c, 0xaa, 0x2e, 0x6a, 0x33, 0x25, 0x01, 0x38, 0xc1, 0xb1, 0xff, 0x2f, 0xe7, 0x1a, 0x93, - 0xc3, 0x71, 0x80, 0xeb, 0xe0, 0x05, 0x18, 0xdd, 0x09, 0xa2, 0x98, 0x62, 0xb3, 0x36, 0x86, 0x12, - 0x3e, 0xf1, 0x86, 0x28, 0xc7, 0x0a, 0x03, 0xbd, 0x01, 0x13, 0x4d, 0xbd, 0x01, 0x71, 0x97, 0xa9, - 0x21, 0x30, 0x5a, 0xc7, 0x26, 0x2e, 0x7a, 0x1d, 0x46, 0xd9, 0x63, 0x6f, 0x33, 0xf0, 0x04, 0x93, - 0x25, 0x2f, 0xe4, 0xd1, 0xba, 0x28, 0x3f, 0xd6, 0x7e, 0x63, 0x85, 0x8d, 0xae, 0xc0, 0x30, 0xed, - 0x42, 0xad, 0x2e, 0x6e, 0x11, 0xa5, 0x53, 0xb9, 0xc1, 0x4a, 0xb1, 0x80, 0xda, 0x7f, 0xb3, 0xa0, - 0x8d, 0x32, 0x95, 0x48, 0x09, 0xaa, 0xc3, 0xc8, 0x7d, 0xc7, 0x8d, 0x5d, 0x7f, 0x5b, 0xb0, 0x0b, - 0xcf, 0xf5, 0xbc, 0x52, 0x58, 0xa5, 0x7b, 0xbc, 0x02, 0xbf, 0xf4, 0xc4, 0x1f, 0x2c, 0xc9, 0x50, - 0x8a, 0x61, 0xc7, 0xf7, 0x29, 0xc5, 0xc2, 0xa0, 0x14, 0x31, 0xaf, 0xc0, 0x29, 0x8a, 0x3f, 0x58, - 0x92, 0x41, 0xef, 0x00, 0xc8, 0x65, 0x49, 0x5a, 0xe2, 0x91, 0xf5, 0x85, 0xfe, 0x44, 0x37, 0x54, - 0x9d, 0xa5, 0x49, 0x7a, 0xa5, 0x26, 0xff, 0xb1, 0x46, 0xcf, 0x8e, 0x19, 0x5b, 0xd5, 0xdd, 0x19, - 0xf4, 0x7d, 0xf4, 0x24, 0x70, 0xc2, 0x98, 0xb4, 0x16, 0x63, 0x31, 0x38, 0x9f, 0x1e, 0x4c, 0xa6, - 0xd8, 0x70, 0xf7, 0x88, 0x7e, 0x6a, 0x08, 0x22, 0x38, 0xa1, 0x67, 0xff, 0x5a, 0x11, 0x66, 0xf3, - 0xba, 0x4b, 0x17, 0x1d, 0x79, 0xe0, 0xc6, 0xcb, 0x94, 0x1b, 0xb2, 0xcc, 0x45, 0xb7, 0x22, 0xca, - 0xb1, 0xc2, 0xa0, 0xb3, 0x1f, 0xb9, 0xdb, 0x52, 0x24, 0x1c, 0x4a, 0x66, 0xbf, 0xc1, 0x4a, 0xb1, - 0x80, 0x52, 0xbc, 0x90, 0x38, 0x91, 0x78, 0xc5, 0xd7, 0x56, 0x09, 0x66, 0xa5, 0x58, 0x40, 0x75, - 0x7d, 0x53, 0xa9, 0x8f, 0xbe, 0xc9, 0x18, 0xa2, 0xa1, 0xd3, 0x1d, 0x22, 0xf4, 0x15, 0x80, 0x2d, - 0xd7, 0x77, 0xa3, 0x1d, 0x46, 0x7d, 0xf8, 0xc4, 0xd4, 0x15, 0x2f, 0xb5, 0xaa, 0xa8, 0x60, 0x8d, - 0x22, 0x7a, 0x15, 0xc6, 0xd4, 0x06, 0xac, 0x55, 0xd9, 0x93, 0x86, 0xf6, 0x44, 0x9c, 0x9c, 0x46, - 0x55, 0xac, 0xe3, 0xd9, 0xef, 0xa6, 0xd7, 0x8b, 0xd8, 0x01, 0xda, 0xf8, 0x5a, 0x83, 0x8e, 0x6f, - 0xa1, 0xf7, 0xf8, 0xda, 0xbf, 0x55, 0x84, 0x29, 0xa3, 0xb1, 0x4e, 0x34, 0xc0, 0x99, 0x75, 0x9d, - 0xde, 0x73, 0x4e, 0x4c, 0xc4, 0xfe, 0xb3, 0xfb, 0x6f, 0x15, 0xfd, 0x2e, 0xa4, 0x3b, 0x80, 0xd7, - 0x47, 0x5f, 0x81, 0xb2, 0xe7, 0x44, 0x4c, 0x77, 0x45, 0xc4, 0xbe, 0x1b, 0x84, 0x58, 0x22, 0x47, - 0x38, 0x51, 0xac, 0x5d, 0x35, 0x9c, 0x76, 0x42, 0x92, 0x5e, 0xc8, 0x94, 0xf7, 0x91, 0x66, 0x22, - 0xaa, 0x13, 0x94, 0x41, 0x3a, 0xc0, 0x1c, 0x86, 0x5e, 0x87, 0xf1, 0x90, 0xb0, 0x55, 0xb1, 0x4c, - 0x59, 0x39, 0xb6, 0xcc, 0x86, 0x12, 0x9e, 0x0f, 0x6b, 0x30, 0x6c, 0x60, 0x26, 0xac, 0xfc, 0x70, - 0x0f, 0x56, 0xfe, 0x39, 0x18, 0x61, 0x3f, 0xd4, 0x0a, 0x50, 0xb3, 0x51, 0xe3, 0xc5, 0x58, 0xc2, - 0xd3, 0x0b, 0x66, 0x74, 0xc0, 0x05, 0xf3, 0x69, 0x98, 0xac, 0x3a, 0x64, 0x2f, 0xf0, 0x57, 0xfc, - 0x56, 0x3b, 0x70, 0xfd, 0x18, 0xcd, 0x42, 0x89, 0xdd, 0x0e, 0x7c, 0x6f, 0x97, 0x28, 0x05, 0x5c, - 0xa2, 0x8c, 0xb9, 0xbd, 0x0d, 0x17, 0xaa, 0xc1, 0x7d, 0xff, 0xbe, 0x13, 0xb6, 0x16, 0xeb, 0x35, - 0x4d, 0xce, 0x5d, 0x97, 0x72, 0x16, 0x37, 0xbb, 0xc8, 0x3c, 0x53, 0xb5, 0x9a, 0xfc, 0xae, 0x5d, - 0x75, 0x3d, 0x92, 0xa3, 0x8d, 0xf8, 0xdb, 0x05, 0xa3, 0xa5, 0x04, 0x5f, 0x3d, 0x71, 0x58, 0xb9, - 0x4f, 0x1c, 0x6f, 0xc3, 0xe8, 0x96, 0x4b, 0xbc, 0x16, 0x26, 0x5b, 0x62, 0x89, 0x3d, 0x9b, 0xff, - 0x92, 0xbc, 0x4a, 0x31, 0xa5, 0xf6, 0x89, 0x4b, 0x69, 0xab, 0xa2, 0x32, 0x56, 0x64, 0xd0, 0x2e, - 0x4c, 0x4b, 0x31, 0x40, 0x42, 0xc5, 0x82, 0x7b, 0xae, 0x97, 0x6c, 0x61, 0x12, 0x3f, 0x7f, 0x74, - 0x58, 0x99, 0xc6, 0x29, 0x32, 0xb8, 0x8b, 0x30, 0x15, 0xcb, 0xf6, 0xe8, 0xd1, 0x5a, 0x62, 0xc3, - 0xcf, 0xc4, 0x32, 0x26, 0x61, 0xb2, 0x52, 0xfb, 0x67, 0x2c, 0x78, 0xbc, 0x6b, 0x64, 0x84, 0xa4, - 0x7d, 0xca, 0xb3, 0x90, 0x96, 0x7c, 0x0b, 0xfd, 0x25, 0x5f, 0xfb, 0x1f, 0x59, 0x70, 0x7e, 0x65, - 0xaf, 0x1d, 0x1f, 0x54, 0x5d, 0xf3, 0x19, 0xe6, 0x35, 0x18, 0xde, 0x23, 0x2d, 0xb7, 0xb3, 0x27, - 0x66, 0xae, 0x22, 0x8f, 0x9f, 0x35, 0x56, 0x7a, 0x7c, 0x58, 0x99, 0x68, 0xc4, 0x41, 0xe8, 0x6c, - 0x13, 0x5e, 0x80, 0x05, 0x3a, 0x3b, 0xc4, 0xdd, 0xf7, 0xc9, 0x2d, 0x77, 0xcf, 0x95, 0x96, 0x01, - 0x3d, 0x75, 0x67, 0xf3, 0x72, 0x40, 0xe7, 0xdf, 0xee, 0x38, 0x7e, 0xec, 0xc6, 0x07, 0xe2, 0x85, - 0x49, 0x12, 0xc1, 0x09, 0x3d, 0xfb, 0xdb, 0x16, 0x4c, 0xc9, 0x75, 0xbf, 0xd8, 0x6a, 0x85, 0x24, - 0x8a, 0xd0, 0x1c, 0x14, 0xdc, 0xb6, 0xe8, 0x25, 0x88, 0x5e, 0x16, 0x6a, 0x75, 0x5c, 0x70, 0xdb, - 0xa8, 0x0e, 0x65, 0x6e, 0x60, 0x90, 0x2c, 0xae, 0x81, 0xcc, 0x14, 0x58, 0x0f, 0x36, 0x64, 0x4d, - 0x9c, 0x10, 0x91, 0x1c, 0x1c, 0x3b, 0x33, 0x8b, 0xe6, 0xf3, 0xd4, 0x0d, 0x51, 0x8e, 0x15, 0x06, - 0xba, 0x0a, 0xa3, 0x7e, 0xd0, 0xe2, 0xf6, 0x1e, 0xfc, 0xf6, 0x63, 0x4b, 0x76, 0x5d, 0x94, 0x61, - 0x05, 0xb5, 0x7f, 0xcc, 0x82, 0x71, 0xf9, 0x65, 0x03, 0x32, 0x93, 0x74, 0x6b, 0x25, 0x8c, 0x64, - 0xb2, 0xb5, 0x28, 0x33, 0xc8, 0x20, 0x06, 0x0f, 0x58, 0x3c, 0x09, 0x0f, 0x68, 0xff, 0x74, 0x01, - 0x26, 0x65, 0x77, 0x1a, 0x9d, 0xcd, 0x88, 0xc4, 0x68, 0x03, 0xca, 0x0e, 0x1f, 0x72, 0x22, 0x57, - 0xec, 0x33, 0xd9, 0xc2, 0x87, 0x31, 0x3f, 0xc9, 0xb5, 0xbc, 0x28, 0x6b, 0xe3, 0x84, 0x10, 0xf2, - 0x60, 0xc6, 0x0f, 0x62, 0x76, 0x44, 0x2b, 0x78, 0xaf, 0x27, 0x90, 0x34, 0xf5, 0x8b, 0x82, 0xfa, - 0xcc, 0x7a, 0x9a, 0x0a, 0xee, 0x26, 0x8c, 0x56, 0xa4, 0xc2, 0xa3, 0x98, 0x2f, 0x6e, 0xe8, 0xb3, - 0x90, 0xad, 0xef, 0xb0, 0x7f, 0xc3, 0x82, 0xb2, 0x44, 0x3b, 0x8b, 0xd7, 0xae, 0x35, 0x18, 0x89, - 0xd8, 0x24, 0xc8, 0xa1, 0xb1, 0x7b, 0x75, 0x9c, 0xcf, 0x57, 0x72, 0xf3, 0xf0, 0xff, 0x11, 0x96, - 0x34, 0x98, 0xbe, 0x5b, 0x75, 0xff, 0x63, 0xa2, 0xef, 0x56, 0xfd, 0xc9, 0xb9, 0x61, 0xfe, 0x1b, - 0xeb, 0xb3, 0x26, 0xd6, 0x52, 0x06, 0xa9, 0x1d, 0x92, 0x2d, 0xf7, 0x41, 0x9a, 0x41, 0xaa, 0xb3, - 0x52, 0x2c, 0xa0, 0xe8, 0x1d, 0x18, 0x6f, 0x4a, 0x45, 0x67, 0x72, 0x0c, 0x5c, 0xe9, 0xa9, 0x74, - 0x57, 0xef, 0x33, 0xdc, 0x16, 0x74, 0x59, 0xab, 0x8f, 0x0d, 0x6a, 0xa6, 0x0d, 0x42, 0xb1, 0x9f, - 0x0d, 0x42, 0x42, 0x37, 0xf7, 0x15, 0xdd, 0xfe, 0x59, 0x0b, 0x86, 0xb9, 0xba, 0x6c, 0x30, 0xfd, - 0xa2, 0xf6, 0x5c, 0x95, 0x8c, 0xdd, 0x5d, 0x5a, 0x28, 0x9e, 0x9f, 0xd0, 0x1a, 0x94, 0xd9, 0x0f, - 0xa6, 0x36, 0x28, 0xe6, 0x1b, 0xc1, 0xf2, 0x56, 0xf5, 0x0e, 0xde, 0x95, 0xd5, 0x70, 0x42, 0xc1, - 0xfe, 0x89, 0x22, 0x3d, 0xaa, 0x12, 0x54, 0xe3, 0x06, 0xb7, 0x1e, 0xdd, 0x0d, 0x5e, 0x78, 0x54, - 0x37, 0xf8, 0x36, 0x4c, 0x35, 0xb5, 0xc7, 0xad, 0x64, 0x26, 0xaf, 0xf6, 0x5c, 0x24, 0xda, 0x3b, - 0x18, 0x57, 0x19, 0x2d, 0x9b, 0x44, 0x70, 0x9a, 0x2a, 0xfa, 0x3e, 0x18, 0xe7, 0xf3, 0x2c, 0x5a, - 0x29, 0xb1, 0x56, 0x3e, 0x95, 0xbf, 0x5e, 0xf4, 0x26, 0xd8, 0x4a, 0x6c, 0x68, 0xd5, 0xb1, 0x41, - 0xcc, 0xfe, 0xb5, 0x51, 0x18, 0x5a, 0xd9, 0x27, 0x7e, 0x7c, 0x06, 0x07, 0x52, 0x13, 0x26, 0x5d, - 0x7f, 0x3f, 0xf0, 0xf6, 0x49, 0x8b, 0xc3, 0x4f, 0x72, 0xb9, 0x3e, 0x26, 0x48, 0x4f, 0xd6, 0x0c, - 0x12, 0x38, 0x45, 0xf2, 0x51, 0x48, 0x98, 0xd7, 0x61, 0x98, 0xcf, 0xbd, 0x10, 0x2f, 0x33, 0x95, - 0xc1, 0x6c, 0x10, 0xc5, 0x2e, 0x48, 0xa4, 0x5f, 0xae, 0x7d, 0x16, 0xd5, 0xd1, 0xbb, 0x30, 0xb9, - 0xe5, 0x86, 0x51, 0x4c, 0x45, 0xc3, 0x28, 0x76, 0xf6, 0xda, 0x0f, 0x21, 0x51, 0xaa, 0x71, 0x58, - 0x35, 0x28, 0xe1, 0x14, 0x65, 0xb4, 0x0d, 0x13, 0x54, 0xc8, 0x49, 0x9a, 0x1a, 0x39, 0x71, 0x53, - 0x4a, 0x65, 0x74, 0x4b, 0x27, 0x84, 0x4d, 0xba, 0xf4, 0x30, 0x69, 0x32, 0xa1, 0x68, 0x94, 0x71, - 0x14, 0xea, 0x30, 0xe1, 0xd2, 0x10, 0x87, 0xd1, 0x33, 0x89, 0x99, 0xad, 0x94, 0xcd, 0x33, 0x49, - 0x33, 0x4e, 0xf9, 0x2a, 0x94, 0x09, 0x1d, 0x42, 0x4a, 0x58, 0x28, 0xc6, 0x17, 0x06, 0xeb, 0xeb, - 0x9a, 0xdb, 0x0c, 0x03, 0x53, 0x96, 0x5f, 0x91, 0x94, 0x70, 0x42, 0x14, 0x2d, 0xc3, 0x70, 0x44, - 0x42, 0x97, 0x44, 0x42, 0x45, 0xde, 0x63, 0x1a, 0x19, 0x1a, 0xb7, 0x96, 0xe6, 0xbf, 0xb1, 0xa8, - 0x4a, 0x97, 0x97, 0xc3, 0xa4, 0x21, 0xa6, 0x15, 0xd7, 0x96, 0xd7, 0x22, 0x2b, 0xc5, 0x02, 0x8a, - 0xde, 0x82, 0x91, 0x90, 0x78, 0x4c, 0x59, 0x34, 0x31, 0xf8, 0x22, 0xe7, 0xba, 0x27, 0x5e, 0x0f, - 0x4b, 0x02, 0xe8, 0x26, 0xa0, 0x90, 0x50, 0x1e, 0xc2, 0xf5, 0xb7, 0x95, 0x31, 0x87, 0xd0, 0x75, - 0x3f, 0x21, 0xda, 0x3f, 0x87, 0x13, 0x0c, 0x69, 0x47, 0x89, 0x33, 0xaa, 0xa1, 0xeb, 0x30, 0xa3, - 0x4a, 0x6b, 0x7e, 0x14, 0x3b, 0x7e, 0x93, 0x30, 0x35, 0x77, 0x39, 0xe1, 0x8a, 0x70, 0x1a, 0x01, - 0x77, 0xd7, 0xb1, 0xbf, 0x4e, 0xd9, 0x19, 0x3a, 0x5a, 0x67, 0xc0, 0x0b, 0xbc, 0x69, 0xf2, 0x02, - 0x17, 0x73, 0x67, 0x2e, 0x87, 0x0f, 0x38, 0xb2, 0x60, 0x4c, 0x9b, 0xd9, 0x64, 0xcd, 0x5a, 0x3d, - 0xd6, 0x6c, 0x07, 0xa6, 0xe9, 0x4a, 0xbf, 0xbd, 0xc9, 0x1c, 0x87, 0x5a, 0x6c, 0x61, 0x16, 0x1e, - 0x6e, 0x61, 0xaa, 0x57, 0xe6, 0x5b, 0x29, 0x82, 0xb8, 0xab, 0x09, 0xf4, 0x9a, 0xd4, 0x9c, 0x14, - 0x0d, 0x23, 0x2d, 0xae, 0x15, 0x39, 0x3e, 0xac, 0x4c, 0x6b, 0x1f, 0xa2, 0x6b, 0x4a, 0xec, 0xaf, - 0xca, 0x6f, 0x54, 0xaf, 0xf9, 0x4d, 0xb5, 0x58, 0x52, 0xaf, 0xf9, 0x6a, 0x39, 0xe0, 0x04, 0x87, - 0xee, 0x51, 0x2a, 0x82, 0xa4, 0x5f, 0xf3, 0xa9, 0x80, 0x82, 0x19, 0xc4, 0x7e, 0x19, 0x60, 0xe5, - 0x01, 0x69, 0xf2, 0xa5, 0xae, 0x3f, 0x40, 0x5a, 0xf9, 0x0f, 0x90, 0xf6, 0x7f, 0xb2, 0x60, 0x72, - 0x75, 0xd9, 0x10, 0x13, 0xe7, 0x01, 0xb8, 0x6c, 0x74, 0xef, 0xde, 0xba, 0xd4, 0xad, 0x73, 0xf5, - 0xa8, 0x2a, 0xc5, 0x1a, 0x06, 0xba, 0x08, 0x45, 0xaf, 0xe3, 0x0b, 0x91, 0x65, 0xe4, 0xe8, 0xb0, - 0x52, 0xbc, 0xd5, 0xf1, 0x31, 0x2d, 0xd3, 0x4c, 0xf9, 0x8a, 0x03, 0x9b, 0xf2, 0xf5, 0x75, 0x08, - 0x42, 0x15, 0x18, 0xba, 0x7f, 0xdf, 0x6d, 0x71, 0xb3, 0x6b, 0xa1, 0xf7, 0xbf, 0x77, 0xaf, 0x56, - 0x8d, 0x30, 0x2f, 0xb7, 0xbf, 0x56, 0x84, 0xb9, 0x55, 0x8f, 0x3c, 0xf8, 0x90, 0xa6, 0xe7, 0x83, - 0x1a, 0x22, 0x9e, 0x8c, 0x5f, 0x3c, 0xa9, 0xd5, 0x65, 0xff, 0xf1, 0xd8, 0x82, 0x11, 0xfe, 0x98, - 0x2d, 0x0d, 0xd1, 0xdf, 0xc8, 0x6a, 0x3d, 0x7f, 0x40, 0xe6, 0xf9, 0xa3, 0xb8, 0x30, 0x40, 0x57, - 0x37, 0xad, 0x28, 0xc5, 0x92, 0xf8, 0xdc, 0x67, 0x61, 0x5c, 0xc7, 0x3c, 0x91, 0xfd, 0xf3, 0xff, - 0x5f, 0x84, 0x69, 0xda, 0x83, 0x47, 0x3a, 0x11, 0x77, 0xba, 0x27, 0xe2, 0xb4, 0x6d, 0x60, 0xfb, - 0xcf, 0xc6, 0x3b, 0xe9, 0xd9, 0x78, 0x29, 0x6f, 0x36, 0xce, 0x7a, 0x0e, 0x7e, 0xc8, 0x82, 0x73, - 0xab, 0x5e, 0xd0, 0xdc, 0x4d, 0x99, 0xe7, 0xbe, 0x0a, 0x63, 0xf4, 0x1c, 0x8f, 0x0c, 0xbf, 0x17, - 0xc3, 0x13, 0x4a, 0x80, 0xb0, 0x8e, 0xa7, 0x55, 0xbb, 0x73, 0xa7, 0x56, 0xcd, 0x72, 0xa0, 0x12, - 0x20, 0xac, 0xe3, 0xd9, 0xdf, 0xb2, 0xe0, 0xa9, 0xeb, 0xcb, 0x2b, 0xc9, 0x52, 0xec, 0xf2, 0xe1, - 0xa2, 0x52, 0x60, 0x4b, 0xeb, 0x4a, 0x22, 0x05, 0x56, 0x59, 0x2f, 0x04, 0xf4, 0xe3, 0xe2, 0x9f, - 0xf8, 0x0b, 0x16, 0x9c, 0xbb, 0xee, 0xc6, 0xf4, 0x5a, 0x4e, 0x7b, 0x13, 0xd1, 0x7b, 0x39, 0x72, - 0xe3, 0x20, 0x3c, 0x48, 0x7b, 0x13, 0x61, 0x05, 0xc1, 0x1a, 0x16, 0x6f, 0x79, 0xdf, 0x65, 0x66, - 0x54, 0x05, 0x53, 0x15, 0x85, 0x45, 0x39, 0x56, 0x18, 0xf4, 0xc3, 0x5a, 0x6e, 0xc8, 0x44, 0x89, - 0x03, 0x71, 0xc2, 0xaa, 0x0f, 0xab, 0x4a, 0x00, 0x4e, 0x70, 0xec, 0x9f, 0xb1, 0xe0, 0xc2, 0x75, - 0xaf, 0x13, 0xc5, 0x24, 0xdc, 0x8a, 0x8c, 0xce, 0xbe, 0x0c, 0x65, 0x22, 0xc5, 0x75, 0xd1, 0x57, - 0xc5, 0x60, 0x2a, 0x39, 0x9e, 0xbb, 0x32, 0x29, 0xbc, 0x01, 0x6c, 0xdd, 0x4f, 0x66, 0xa3, 0xfd, - 0xcb, 0x05, 0x98, 0xb8, 0xb1, 0xb1, 0x51, 0xbf, 0x4e, 0x62, 0x71, 0x8b, 0xf5, 0x57, 0x35, 0x63, - 0x4d, 0x63, 0xd6, 0x4b, 0x28, 0xea, 0xc4, 0xae, 0x37, 0xcf, 0x7d, 0x67, 0xe7, 0x6b, 0x7e, 0x7c, - 0x3b, 0x6c, 0xc4, 0xa1, 0xeb, 0x6f, 0x67, 0xea, 0xd8, 0xe4, 0x5d, 0x5b, 0xcc, 0xbb, 0x6b, 0xd1, - 0xcb, 0x30, 0xcc, 0x9c, 0x77, 0xa5, 0x78, 0xf2, 0x84, 0x92, 0x29, 0x58, 0xe9, 0xf1, 0x61, 0xa5, - 0x7c, 0x07, 0xd7, 0xf8, 0x1f, 0x2c, 0x50, 0xd1, 0x1d, 0x18, 0xdb, 0x89, 0xe3, 0xf6, 0x0d, 0xe2, - 0xb4, 0x48, 0x28, 0x4f, 0x87, 0x4b, 0x59, 0xa7, 0x03, 0x1d, 0x04, 0x8e, 0x96, 0x6c, 0xa8, 0xa4, - 0x2c, 0xc2, 0x3a, 0x1d, 0xbb, 0x01, 0x90, 0xc0, 0x4e, 0x49, 0xbf, 0x60, 0xff, 0xa1, 0x05, 0x23, - 0xdc, 0x8f, 0x2a, 0x44, 0x9f, 0x83, 0x12, 0x79, 0x40, 0x9a, 0x82, 0x73, 0xcc, 0xec, 0x70, 0xc2, - 0x78, 0x70, 0x6d, 0x39, 0xfd, 0x8f, 0x59, 0x2d, 0x74, 0x03, 0x46, 0x68, 0x6f, 0xaf, 0x2b, 0xa7, - 0xb2, 0xa7, 0xf3, 0xbe, 0x58, 0x4d, 0x3b, 0xe7, 0x55, 0x44, 0x11, 0x96, 0xd5, 0x99, 0xe6, 0xb7, - 0xd9, 0x6e, 0xd0, 0x03, 0x2c, 0xee, 0x75, 0xcf, 0x6e, 0x2c, 0xd7, 0x39, 0x92, 0xa0, 0xc6, 0x35, - 0xbf, 0xb2, 0x10, 0x27, 0x44, 0xec, 0x0d, 0x28, 0xd3, 0x49, 0x5d, 0xf4, 0x5c, 0xa7, 0xb7, 0xd2, - 0xf9, 0x79, 0x28, 0x4b, 0x05, 0x70, 0x24, 0x5c, 0x71, 0x18, 0x55, 0xa9, 0x1f, 0x8e, 0x70, 0x02, - 0xb7, 0xb7, 0xe0, 0x3c, 0x7b, 0xf9, 0x77, 0xe2, 0x1d, 0x63, 0x8f, 0xf5, 0x5f, 0xcc, 0x2f, 0x08, - 0x41, 0x8c, 0xcf, 0xcc, 0xac, 0xe6, 0x3b, 0x30, 0x2e, 0x29, 0x26, 0x42, 0x99, 0xfd, 0xc7, 0x25, - 0x78, 0xa2, 0xd6, 0xc8, 0x77, 0xb1, 0x7b, 0x1d, 0xc6, 0x39, 0x9b, 0x46, 0x97, 0xb6, 0xe3, 0x89, - 0x76, 0xd5, 0xbb, 0xd8, 0x86, 0x06, 0xc3, 0x06, 0x26, 0x7a, 0x0a, 0x8a, 0xee, 0x7b, 0x7e, 0xda, - 0x0c, 0xb7, 0xf6, 0xf6, 0x3a, 0xa6, 0xe5, 0x14, 0x4c, 0x39, 0x3e, 0x7e, 0x94, 0x2a, 0xb0, 0xe2, - 0xfa, 0xde, 0x84, 0x49, 0x37, 0x6a, 0x46, 0x6e, 0xcd, 0xa7, 0xe7, 0x4c, 0xe2, 0x9e, 0x99, 0x28, - 0x09, 0x68, 0xa7, 0x15, 0x14, 0xa7, 0xb0, 0xb5, 0x73, 0x7d, 0x68, 0x60, 0xae, 0xb1, 0xaf, 0x6f, - 0x0a, 0x65, 0x88, 0xdb, 0xec, 0xeb, 0x22, 0x66, 0xd4, 0x26, 0x18, 0x62, 0xfe, 0xc1, 0x11, 0x96, - 0x30, 0x2a, 0x81, 0x35, 0x77, 0x9c, 0xf6, 0x62, 0x27, 0xde, 0xa9, 0xba, 0x51, 0x33, 0xd8, 0x27, - 0xe1, 0x01, 0x13, 0x9e, 0x47, 0x13, 0x09, 0x4c, 0x01, 0x96, 0x6f, 0x2c, 0xd6, 0x29, 0x26, 0xee, - 0xae, 0x63, 0x72, 0x85, 0x70, 0x1a, 0x5c, 0xe1, 0x22, 0x4c, 0xc9, 0x66, 0x1a, 0x24, 0x62, 0x77, - 0xc4, 0x18, 0xeb, 0x98, 0x32, 0xb5, 0x15, 0xc5, 0xaa, 0x5b, 0x69, 0x7c, 0xf4, 0x1a, 0x4c, 0xb8, - 0xbe, 0x1b, 0xbb, 0x4e, 0x1c, 0x84, 0xec, 0x86, 0xe5, 0x72, 0x32, 0xb3, 0x64, 0xab, 0xe9, 0x00, - 0x6c, 0xe2, 0xd9, 0x7f, 0x54, 0x82, 0x19, 0x36, 0x6d, 0xdf, 0x59, 0x61, 0x1f, 0x9b, 0x15, 0x76, - 0xa7, 0x7b, 0x85, 0x9d, 0x06, 0xbb, 0xfb, 0x51, 0x2e, 0xb3, 0x77, 0xa1, 0xac, 0x6c, 0x81, 0xa5, - 0x33, 0x80, 0x95, 0xe3, 0x0c, 0xd0, 0x9f, 0xfb, 0x90, 0xcf, 0xb8, 0xc5, 0xcc, 0x67, 0xdc, 0xbf, - 0x63, 0x41, 0x62, 0x12, 0x89, 0x6e, 0x40, 0xb9, 0x1d, 0x30, 0xb3, 0x83, 0x50, 0xda, 0xf2, 0x3c, - 0x91, 0x79, 0x51, 0xf1, 0x4b, 0x91, 0x8f, 0x5f, 0x5d, 0xd6, 0xc0, 0x49, 0x65, 0xb4, 0x04, 0x23, - 0xed, 0x90, 0x34, 0x62, 0xe6, 0xb4, 0xd9, 0x97, 0x0e, 0x5f, 0x23, 0x1c, 0x1f, 0xcb, 0x8a, 0xf6, - 0xaf, 0x58, 0x00, 0xfc, 0xa5, 0xd4, 0xf1, 0xb7, 0xc9, 0x19, 0x68, 0x7f, 0xab, 0x50, 0x8a, 0xda, - 0xa4, 0xd9, 0xcb, 0x20, 0x24, 0xe9, 0x4f, 0xa3, 0x4d, 0x9a, 0xc9, 0x80, 0xd3, 0x7f, 0x98, 0xd5, - 0xb6, 0xff, 0x2a, 0xc0, 0x64, 0x82, 0x56, 0x8b, 0xc9, 0x1e, 0x7a, 0xd1, 0x70, 0x89, 0xbb, 0x98, - 0x72, 0x89, 0x2b, 0x33, 0x6c, 0x4d, 0xd1, 0xf8, 0x2e, 0x14, 0xf7, 0x9c, 0x07, 0x42, 0x93, 0xf4, - 0x7c, 0xef, 0x6e, 0x50, 0xfa, 0xf3, 0x6b, 0xce, 0x03, 0x2e, 0x33, 0x3d, 0x2f, 0x17, 0xc8, 0x9a, - 0xf3, 0xe0, 0x98, 0x9b, 0x7d, 0xb0, 0x43, 0xea, 0x96, 0x1b, 0xc5, 0x1f, 0xfc, 0x97, 0xe4, 0x3f, - 0x5b, 0x76, 0xb4, 0x11, 0xd6, 0x96, 0xeb, 0x8b, 0x77, 0xc3, 0x81, 0xda, 0x72, 0xfd, 0x74, 0x5b, - 0xae, 0x3f, 0x40, 0x5b, 0xae, 0x8f, 0xde, 0x87, 0x11, 0xf1, 0x46, 0xcf, 0x6c, 0xbd, 0x4d, 0x2d, - 0x55, 0x5e, 0x7b, 0xe2, 0x89, 0x9f, 0xb7, 0xb9, 0x20, 0x65, 0x42, 0x51, 0xda, 0xb7, 0x5d, 0xd9, - 0x20, 0xfa, 0x5b, 0x16, 0x4c, 0x8a, 0xdf, 0x98, 0xbc, 0xd7, 0x21, 0x51, 0x2c, 0x78, 0xcf, 0xcf, - 0x0c, 0xde, 0x07, 0x51, 0x91, 0x77, 0xe5, 0x33, 0xf2, 0x98, 0x35, 0x81, 0x7d, 0x7b, 0x94, 0xea, - 0x05, 0xfa, 0x27, 0x16, 0x9c, 0xdf, 0x73, 0x1e, 0xf0, 0x16, 0x79, 0x19, 0x76, 0x62, 0x37, 0x10, - 0xb6, 0xeb, 0x9f, 0x1b, 0x6c, 0xfa, 0xbb, 0xaa, 0xf3, 0x4e, 0x4a, 0x33, 0xd7, 0xf3, 0x59, 0x28, - 0x7d, 0xbb, 0x9a, 0xd9, 0xaf, 0xb9, 0x2d, 0x18, 0x95, 0xeb, 0x2d, 0x43, 0xf2, 0xae, 0xea, 0x8c, - 0xf5, 0x89, 0x4d, 0x24, 0x74, 0xbf, 0x34, 0xda, 0x8e, 0x58, 0x6b, 0x8f, 0xb4, 0x9d, 0x77, 0x61, - 0x5c, 0x5f, 0x63, 0x8f, 0xb4, 0xad, 0xf7, 0xe0, 0x5c, 0xc6, 0x5a, 0x7a, 0xa4, 0x4d, 0xde, 0x87, - 0x8b, 0xb9, 0xeb, 0xe3, 0x51, 0x36, 0x6c, 0xff, 0xb2, 0xa5, 0x9f, 0x83, 0x67, 0xa0, 0x82, 0x5f, - 0x36, 0x55, 0xf0, 0x97, 0x7a, 0xef, 0x9c, 0x1c, 0x3d, 0xfc, 0x3b, 0x7a, 0xa7, 0xe9, 0xa9, 0x8e, - 0xde, 0x82, 0x61, 0x8f, 0x96, 0x48, 0xe3, 0x10, 0xbb, 0xff, 0x8e, 0x4c, 0x78, 0x29, 0x56, 0x1e, - 0x61, 0x41, 0xc1, 0xfe, 0x75, 0x0b, 0x4a, 0x67, 0x30, 0x12, 0xd8, 0x1c, 0x89, 0x17, 0x73, 0x49, - 0x8b, 0x20, 0x5c, 0xf3, 0xd8, 0xb9, 0xbf, 0x22, 0x03, 0x8d, 0xe5, 0x0c, 0xcc, 0xf7, 0xc3, 0xb9, - 0x5b, 0x81, 0xd3, 0x5a, 0x72, 0x3c, 0xc7, 0x6f, 0x92, 0xb0, 0xe6, 0x6f, 0xf7, 0xb5, 0x52, 0xd2, - 0x6d, 0x8a, 0x0a, 0xfd, 0x6c, 0x8a, 0xec, 0x1d, 0x40, 0x7a, 0x03, 0xc2, 0x8e, 0x13, 0xc3, 0x88, - 0xcb, 0x9b, 0x12, 0xc3, 0xff, 0x6c, 0x36, 0x77, 0xd7, 0xd5, 0x33, 0xcd, 0x42, 0x91, 0x17, 0x60, - 0x49, 0xc8, 0x7e, 0x1d, 0x32, 0x7d, 0xb7, 0xfa, 0xab, 0x0d, 0xec, 0x57, 0x61, 0x86, 0xd5, 0x3c, - 0x99, 0x48, 0x6b, 0xff, 0x88, 0x05, 0x53, 0xeb, 0xa9, 0x68, 0x0a, 0x57, 0xd8, 0x5b, 0x5f, 0x86, - 0xde, 0xb7, 0xc1, 0x4a, 0xb1, 0x80, 0x9e, 0xba, 0x7e, 0xe9, 0xcf, 0x2d, 0x48, 0x5c, 0x25, 0xcf, - 0x80, 0xa9, 0x5a, 0x36, 0x98, 0xaa, 0x4c, 0xbd, 0x87, 0xea, 0x4e, 0x1e, 0x4f, 0x85, 0x6e, 0xaa, - 0xb8, 0x00, 0x3d, 0x54, 0x1e, 0x09, 0x19, 0xee, 0x45, 0x3e, 0x69, 0x06, 0x0f, 0x90, 0x91, 0x02, - 0x98, 0x99, 0x90, 0xc2, 0xfd, 0x98, 0x98, 0x09, 0xa9, 0xfe, 0xe4, 0xec, 0xbe, 0xba, 0xd6, 0x65, - 0x76, 0x2a, 0x7d, 0x0f, 0x33, 0xfb, 0x76, 0x3c, 0xf7, 0x7d, 0xa2, 0xc2, 0x71, 0x54, 0x84, 0x19, - 0xb7, 0x28, 0x3d, 0x3e, 0xac, 0x4c, 0xa8, 0x7f, 0x3c, 0x66, 0x53, 0x52, 0xc5, 0xbe, 0x01, 0x53, - 0xa9, 0x01, 0x43, 0xaf, 0xc2, 0x50, 0x7b, 0xc7, 0x89, 0x48, 0xca, 0x34, 0x72, 0xa8, 0x4e, 0x0b, - 0x8f, 0x0f, 0x2b, 0x93, 0xaa, 0x02, 0x2b, 0xc1, 0x1c, 0xdb, 0xfe, 0x9f, 0x16, 0x94, 0xd6, 0x83, - 0xd6, 0x59, 0x2c, 0xa6, 0x37, 0x8d, 0xc5, 0xf4, 0x64, 0x5e, 0xc4, 0xbb, 0xdc, 0x75, 0xb4, 0x9a, - 0x5a, 0x47, 0x97, 0x72, 0x29, 0xf4, 0x5e, 0x42, 0x7b, 0x30, 0xc6, 0xe2, 0xe8, 0x09, 0x53, 0xcd, - 0x97, 0x0d, 0xfe, 0xbe, 0x92, 0xe2, 0xef, 0xa7, 0x34, 0x54, 0x8d, 0xcb, 0x7f, 0x0e, 0x46, 0x84, - 0xb9, 0x60, 0xda, 0xc0, 0x5d, 0xe0, 0x62, 0x09, 0xb7, 0x7f, 0xb6, 0x08, 0x46, 0xdc, 0x3e, 0xf4, - 0x1b, 0x16, 0xcc, 0x87, 0xdc, 0x63, 0xb0, 0x55, 0xed, 0x84, 0xae, 0xbf, 0xdd, 0x68, 0xee, 0x90, - 0x56, 0xc7, 0x73, 0xfd, 0xed, 0xda, 0xb6, 0x1f, 0xa8, 0xe2, 0x95, 0x07, 0xa4, 0xd9, 0x61, 0x3a, - 0xff, 0x3e, 0x41, 0x02, 0x95, 0x39, 0xce, 0xb5, 0xa3, 0xc3, 0xca, 0x3c, 0x3e, 0x11, 0x6d, 0x7c, - 0xc2, 0xbe, 0xa0, 0x6f, 0x59, 0xb0, 0xc0, 0xc3, 0xd9, 0x0d, 0xde, 0xff, 0x1e, 0xd2, 0x50, 0x5d, - 0x92, 0x4a, 0x88, 0x6c, 0x90, 0x70, 0x6f, 0xe9, 0x35, 0x31, 0xa0, 0x0b, 0xf5, 0x93, 0xb5, 0x85, - 0x4f, 0xda, 0x39, 0xfb, 0xdf, 0x14, 0x61, 0x42, 0x38, 0xab, 0x8b, 0x28, 0x28, 0xaf, 0x1a, 0x4b, - 0xe2, 0xe9, 0xd4, 0x92, 0x98, 0x31, 0x90, 0x4f, 0x27, 0x00, 0x4a, 0x04, 0x33, 0x9e, 0x13, 0xc5, - 0x37, 0x88, 0x13, 0xc6, 0x9b, 0xc4, 0xe1, 0x66, 0x2a, 0xc5, 0x13, 0x9b, 0xd4, 0x28, 0xf5, 0xcb, - 0xad, 0x34, 0x31, 0xdc, 0x4d, 0x1f, 0xed, 0x03, 0x62, 0xb6, 0x36, 0xa1, 0xe3, 0x47, 0xfc, 0x5b, - 0x5c, 0xf1, 0x1e, 0x70, 0xb2, 0x56, 0xe7, 0x44, 0xab, 0xe8, 0x56, 0x17, 0x35, 0x9c, 0xd1, 0x82, - 0x66, 0x43, 0x35, 0x34, 0xa8, 0x0d, 0xd5, 0x70, 0x1f, 0x2f, 0x12, 0x1f, 0xa6, 0xbb, 0xe2, 0x0d, - 0x7c, 0x09, 0xca, 0xca, 0xd6, 0x4d, 0x1c, 0x3a, 0xbd, 0xc3, 0x76, 0xa4, 0x29, 0x70, 0x15, 0x49, - 0x62, 0x67, 0x99, 0x90, 0xb3, 0xff, 0x69, 0xc1, 0x68, 0x90, 0x4f, 0xe2, 0x3a, 0x8c, 0x3a, 0x51, - 0xe4, 0x6e, 0xfb, 0xa4, 0x25, 0x76, 0xec, 0x27, 0xf3, 0x76, 0xac, 0xd1, 0x0c, 0xb3, 0x37, 0x5c, - 0x14, 0x35, 0xb1, 0xa2, 0x81, 0x6e, 0x70, 0x63, 0xa0, 0x7d, 0xc9, 0xcf, 0x0f, 0x46, 0x0d, 0xa4, - 0xb9, 0xd0, 0x3e, 0xc1, 0xa2, 0x3e, 0xfa, 0x32, 0xb7, 0xd6, 0xba, 0xe9, 0x07, 0xf7, 0xfd, 0xeb, - 0x41, 0x20, 0x3d, 0xcc, 0x06, 0x23, 0x38, 0x23, 0x6d, 0xb4, 0x54, 0x75, 0x6c, 0x52, 0x1b, 0x2c, - 0x26, 0xcf, 0x0f, 0xc0, 0x39, 0x4a, 0xda, 0xf4, 0x13, 0x89, 0x10, 0x81, 0x29, 0x11, 0x09, 0x41, - 0x96, 0x89, 0xb1, 0xcb, 0x64, 0xd5, 0xcd, 0xda, 0x89, 0x42, 0xef, 0xa6, 0x49, 0x02, 0xa7, 0x69, - 0xda, 0x3f, 0x6f, 0x01, 0xb3, 0x70, 0x3f, 0x03, 0x96, 0xe1, 0xf3, 0x26, 0xcb, 0x30, 0x9b, 0x37, - 0xc8, 0x39, 0xdc, 0xc2, 0x2b, 0x7c, 0x65, 0xd5, 0xc3, 0xe0, 0xc1, 0x81, 0x78, 0x29, 0x1f, 0x80, - 0x4b, 0xfd, 0x3f, 0x16, 0x3f, 0xc4, 0x94, 0xd3, 0x39, 0xfa, 0x41, 0x18, 0x6d, 0x3a, 0x6d, 0xa7, - 0xc9, 0x83, 0xcc, 0xe6, 0x6a, 0x6c, 0x8c, 0x4a, 0xf3, 0xcb, 0xa2, 0x06, 0xd7, 0x40, 0xc8, 0x88, - 0x1a, 0xa3, 0xb2, 0xb8, 0xaf, 0xd6, 0x41, 0x35, 0x39, 0xb7, 0x0b, 0x13, 0x06, 0xb1, 0x47, 0x2a, - 0xae, 0xfe, 0x20, 0xbf, 0x62, 0x55, 0x04, 0x98, 0x3d, 0x98, 0xf1, 0xb5, 0xff, 0xf4, 0x42, 0x91, - 0x22, 0xc8, 0x27, 0xfb, 0x5d, 0xa2, 0xec, 0xf6, 0xd1, 0x2c, 0xf8, 0x53, 0x64, 0x70, 0x37, 0x65, - 0xfb, 0xef, 0x59, 0xf0, 0xb8, 0x8e, 0xa8, 0xc5, 0x03, 0xe8, 0xa7, 0x03, 0xae, 0xc2, 0x68, 0xd0, - 0x26, 0xa1, 0x13, 0x07, 0xa1, 0xb8, 0x35, 0xae, 0xca, 0x41, 0xbf, 0x2d, 0xca, 0x8f, 0x45, 0xb4, - 0x3f, 0x49, 0x5d, 0x96, 0x63, 0x55, 0x13, 0xd9, 0x30, 0xcc, 0x06, 0x23, 0x12, 0xb1, 0x1a, 0xd8, - 0x19, 0xc0, 0x9e, 0x43, 0x23, 0x2c, 0x20, 0xf6, 0x1f, 0x5b, 0x7c, 0x61, 0xe9, 0x5d, 0x47, 0xef, - 0xc1, 0xf4, 0x9e, 0x13, 0x37, 0x77, 0x56, 0x1e, 0xb4, 0x43, 0xae, 0xfa, 0x96, 0xe3, 0xf4, 0x7c, - 0xbf, 0x71, 0xd2, 0x3e, 0x32, 0x31, 0x40, 0x5b, 0x4b, 0x11, 0xc3, 0x5d, 0xe4, 0xd1, 0x26, 0x8c, - 0xb1, 0x32, 0x66, 0xe9, 0x1c, 0xf5, 0x62, 0x0d, 0xf2, 0x5a, 0x53, 0x2f, 0xca, 0x6b, 0x09, 0x1d, - 0xac, 0x13, 0xb5, 0x3f, 0x28, 0xf2, 0xdd, 0xce, 0xb8, 0xed, 0xe7, 0x60, 0xa4, 0x1d, 0xb4, 0x96, - 0x6b, 0x55, 0x2c, 0x66, 0x41, 0x5d, 0x23, 0x75, 0x5e, 0x8c, 0x25, 0x1c, 0xbd, 0x01, 0x40, 0x1e, - 0xc4, 0x24, 0xf4, 0x1d, 0x4f, 0x19, 0x84, 0x28, 0x13, 0xc8, 0x6a, 0xb0, 0x1e, 0xc4, 0x77, 0x22, - 0xf2, 0xfd, 0x2b, 0x0a, 0x05, 0x6b, 0xe8, 0xe8, 0x1a, 0x40, 0x3b, 0x0c, 0xf6, 0xdd, 0x16, 0x73, - 0x9d, 0x2b, 0x9a, 0xe6, 0x12, 0x75, 0x05, 0xc1, 0x1a, 0x16, 0x7a, 0x03, 0x26, 0x3a, 0x7e, 0xc4, - 0x39, 0x14, 0x67, 0x53, 0xc4, 0xca, 0x1b, 0x4d, 0x2c, 0x17, 0xee, 0xe8, 0x40, 0x6c, 0xe2, 0xa2, - 0x45, 0x18, 0x8e, 0x1d, 0x66, 0xef, 0x30, 0x94, 0x6f, 0xb7, 0xb8, 0x41, 0x31, 0xf4, 0x10, 0xa7, - 0xb4, 0x02, 0x16, 0x15, 0xd1, 0x97, 0xa4, 0x1f, 0x02, 0x3f, 0xeb, 0x85, 0xc1, 0xf0, 0x60, 0xf7, - 0x82, 0xe6, 0x85, 0x20, 0x0c, 0x91, 0x0d, 0x5a, 0xf6, 0xb7, 0xca, 0x00, 0x09, 0x3b, 0x8e, 0xde, - 0xef, 0x3a, 0x8f, 0x5e, 0xe8, 0xcd, 0xc0, 0x9f, 0xde, 0x61, 0x84, 0x7e, 0xd8, 0x82, 0x31, 0xc7, - 0xf3, 0x82, 0xa6, 0x13, 0xb3, 0x51, 0x2e, 0xf4, 0x3e, 0x0f, 0x45, 0xfb, 0x8b, 0x49, 0x0d, 0xde, - 0x85, 0x97, 0xe5, 0xc2, 0xd3, 0x20, 0x7d, 0x7b, 0xa1, 0x37, 0x8c, 0xbe, 0x4b, 0x4a, 0x69, 0x7c, - 0x79, 0xcc, 0xa5, 0xa5, 0xb4, 0x32, 0x3b, 0xfa, 0x35, 0x01, 0x0d, 0xdd, 0x31, 0x82, 0xca, 0x95, - 0xf2, 0xe3, 0x2b, 0x18, 0x5c, 0x69, 0xbf, 0x78, 0x72, 0xa8, 0xae, 0x3b, 0x4e, 0x0d, 0xe5, 0x07, - 0x21, 0xd1, 0xc4, 0x9f, 0x3e, 0x4e, 0x53, 0xef, 0xc2, 0x54, 0xcb, 0xbc, 0xdb, 0xc5, 0x6a, 0x7a, - 0x36, 0x8f, 0x6e, 0x8a, 0x15, 0x48, 0x6e, 0xf3, 0x14, 0x00, 0xa7, 0x09, 0xa3, 0x3a, 0x77, 0x61, - 0xab, 0xf9, 0x5b, 0x81, 0x30, 0x3c, 0xb7, 0x73, 0xe7, 0xf2, 0x20, 0x8a, 0xc9, 0x1e, 0xc5, 0x4c, - 0x2e, 0xed, 0x75, 0x51, 0x17, 0x2b, 0x2a, 0xe8, 0x2d, 0x18, 0x66, 0x3e, 0xb0, 0xd1, 0xec, 0x68, - 0xbe, 0xa2, 0xd0, 0x0c, 0xdf, 0x90, 0x6c, 0x2a, 0xf6, 0x37, 0xc2, 0x82, 0x02, 0xba, 0x21, 0x63, - 0xbc, 0x44, 0x35, 0xff, 0x4e, 0x44, 0x58, 0x8c, 0x97, 0xf2, 0xd2, 0x27, 0x93, 0xf0, 0x2d, 0xbc, - 0x3c, 0x33, 0x98, 0xb9, 0x51, 0x93, 0x32, 0x47, 0xe2, 0xbf, 0x8c, 0x91, 0x3e, 0x0b, 0xf9, 0xdd, - 0x33, 0xe3, 0xa8, 0x27, 0xc3, 0x79, 0xd7, 0x24, 0x81, 0xd3, 0x34, 0x29, 0xa3, 0xc9, 0x77, 0xae, - 0x30, 0x5d, 0xef, 0xb7, 0xff, 0xb9, 0x7c, 0xcd, 0x2e, 0x19, 0x5e, 0x82, 0x45, 0xfd, 0x33, 0xbd, - 0xf5, 0xe7, 0x7c, 0x98, 0x4e, 0x6f, 0xd1, 0x47, 0xca, 0x65, 0xfc, 0x61, 0x09, 0x26, 0xcd, 0x25, - 0x85, 0x16, 0xa0, 0x2c, 0x88, 0xa8, 0xc8, 0xa0, 0x6a, 0x97, 0xac, 0x49, 0x00, 0x4e, 0x70, 0x58, - 0x64, 0x54, 0x56, 0x5d, 0x33, 0x39, 0x4c, 0x22, 0xa3, 0x2a, 0x08, 0xd6, 0xb0, 0xa8, 0xbc, 0xb4, - 0x19, 0x04, 0xb1, 0xba, 0x54, 0xd4, 0xba, 0x5b, 0x62, 0xa5, 0x58, 0x40, 0xe9, 0x65, 0xb2, 0x4b, - 0x42, 0x9f, 0x78, 0x66, 0x1c, 0x33, 0x75, 0x99, 0xdc, 0xd4, 0x81, 0xd8, 0xc4, 0xa5, 0xb7, 0x64, - 0x10, 0xb1, 0x85, 0x2c, 0xa4, 0xb2, 0xc4, 0x84, 0xb3, 0xc1, 0xbd, 0xc9, 0x25, 0x1c, 0x7d, 0x11, - 0x1e, 0x57, 0xce, 0xdf, 0x98, 0x2b, 0xa1, 0x65, 0x8b, 0xc3, 0x86, 0x12, 0xe5, 0xf1, 0xe5, 0x6c, - 0x34, 0x9c, 0x57, 0x1f, 0xbd, 0x09, 0x93, 0x82, 0x73, 0x97, 0x14, 0x47, 0x4c, 0xbb, 0x88, 0x9b, - 0x06, 0x14, 0xa7, 0xb0, 0x65, 0x24, 0x36, 0xc6, 0x3c, 0x4b, 0x0a, 0xa3, 0xdd, 0x91, 0xd8, 0x74, - 0x38, 0xee, 0xaa, 0x81, 0x16, 0x61, 0x8a, 0xb3, 0x56, 0xae, 0xbf, 0xcd, 0xe7, 0x44, 0x78, 0x96, - 0xa8, 0x2d, 0x75, 0xdb, 0x04, 0xe3, 0x34, 0x3e, 0x7a, 0x1d, 0xc6, 0x9d, 0xb0, 0xb9, 0xe3, 0xc6, - 0xa4, 0x19, 0x77, 0x42, 0xee, 0x72, 0xa2, 0x19, 0x96, 0x2c, 0x6a, 0x30, 0x6c, 0x60, 0xda, 0xef, - 0xc3, 0xb9, 0x0c, 0xa7, 0x34, 0xba, 0x70, 0x9c, 0xb6, 0x2b, 0xbf, 0x29, 0x65, 0x8c, 0xb9, 0x58, - 0xaf, 0xc9, 0xaf, 0xd1, 0xb0, 0xe8, 0xea, 0x64, 0xce, 0x6b, 0x5a, 0x4a, 0x04, 0xb5, 0x3a, 0x57, - 0x25, 0x00, 0x27, 0x38, 0xf6, 0xff, 0x2a, 0xc0, 0x54, 0x86, 0x62, 0x9d, 0x85, 0xe5, 0x4f, 0xc9, - 0x1e, 0x49, 0x14, 0x7e, 0x33, 0xb0, 0x5f, 0xe1, 0x04, 0x81, 0xfd, 0x8a, 0xfd, 0x02, 0xfb, 0x95, - 0x3e, 0x4c, 0x60, 0x3f, 0x73, 0xc4, 0x86, 0x06, 0x1a, 0xb1, 0x8c, 0x60, 0x80, 0xc3, 0x27, 0x0c, - 0x06, 0x68, 0x0c, 0xfa, 0xc8, 0x00, 0x83, 0xfe, 0x13, 0x05, 0x98, 0x4e, 0x1b, 0xc0, 0x9d, 0x81, - 0x3a, 0xf6, 0x2d, 0x43, 0x1d, 0x9b, 0x9d, 0xe4, 0x22, 0x6d, 0x96, 0x97, 0xa7, 0x9a, 0xc5, 0x29, - 0xd5, 0xec, 0xa7, 0x07, 0xa2, 0xd6, 0x5b, 0x4d, 0xfb, 0xf7, 0x0b, 0x70, 0x21, 0x5d, 0x65, 0xd9, - 0x73, 0xdc, 0xbd, 0x33, 0x18, 0x9b, 0xdb, 0xc6, 0xd8, 0xbc, 0x38, 0xc8, 0xd7, 0xb0, 0xae, 0xe5, - 0x0e, 0xd0, 0xbd, 0xd4, 0x00, 0x2d, 0x0c, 0x4e, 0xb2, 0xf7, 0x28, 0x7d, 0xbb, 0x08, 0x97, 0x32, - 0xeb, 0x25, 0xda, 0xcc, 0x55, 0x43, 0x9b, 0x79, 0x2d, 0xa5, 0xcd, 0xb4, 0x7b, 0xd7, 0x3e, 0x1d, - 0xf5, 0xa6, 0xf0, 0x16, 0x64, 0xc1, 0xdf, 0x1e, 0x52, 0xb5, 0x69, 0x78, 0x0b, 0x2a, 0x42, 0xd8, - 0xa4, 0xfb, 0x97, 0x49, 0xa5, 0xf9, 0xef, 0x2d, 0xb8, 0x98, 0x39, 0x37, 0x67, 0xa0, 0xc2, 0x5a, - 0x37, 0x55, 0x58, 0xcf, 0x0d, 0xbc, 0x5a, 0x73, 0x74, 0x5a, 0x7f, 0x54, 0xcc, 0xf9, 0x16, 0x26, - 0xa0, 0xdf, 0x86, 0x31, 0xa7, 0xd9, 0x24, 0x51, 0xb4, 0x16, 0xb4, 0x54, 0x30, 0xb4, 0x17, 0x99, - 0x9c, 0x95, 0x14, 0x1f, 0x1f, 0x56, 0xe6, 0xd2, 0x24, 0x12, 0x30, 0xd6, 0x29, 0x98, 0xf1, 0x1b, - 0x0b, 0xa7, 0x1a, 0xbf, 0xf1, 0x1a, 0xc0, 0xbe, 0xe2, 0xd6, 0xd3, 0x42, 0xbe, 0xc6, 0xc7, 0x6b, - 0x58, 0xe8, 0xcb, 0x30, 0x1a, 0x89, 0x6b, 0x5c, 0x2c, 0xc5, 0x97, 0x07, 0x9c, 0x2b, 0x67, 0x93, - 0x78, 0xa6, 0x5b, 0xba, 0xd2, 0x87, 0x28, 0x92, 0xe8, 0x7b, 0x61, 0x3a, 0xe2, 0x51, 0x4f, 0x96, - 0x3d, 0x27, 0x62, 0x3e, 0x0e, 0x62, 0x15, 0x32, 0x5f, 0xf3, 0x46, 0x0a, 0x86, 0xbb, 0xb0, 0xd1, - 0xaa, 0xfc, 0x28, 0x16, 0xa2, 0x85, 0x2f, 0xcc, 0x2b, 0xc9, 0x07, 0x89, 0xa4, 0x40, 0xe7, 0xd3, - 0xc3, 0xcf, 0x06, 0x5e, 0xab, 0x69, 0xff, 0x44, 0x09, 0x9e, 0xe8, 0x71, 0x88, 0xa1, 0x45, 0xf3, - 0x8d, 0xf2, 0xf9, 0xb4, 0xf4, 0x3b, 0x97, 0x59, 0xd9, 0x10, 0x87, 0x53, 0x6b, 0xa5, 0xf0, 0xa1, - 0xd7, 0xca, 0x8f, 0x5a, 0x9a, 0x5e, 0x82, 0x5b, 0xd2, 0x7d, 0xfe, 0x84, 0x87, 0xf3, 0x29, 0x2a, - 0x2a, 0xb6, 0x32, 0xa4, 0xfd, 0x6b, 0x03, 0x77, 0x67, 0x60, 0xf1, 0xff, 0x6c, 0xb5, 0xb3, 0x1f, - 0x58, 0xf0, 0x74, 0x66, 0x7f, 0x0d, 0x9b, 0x8a, 0x05, 0x28, 0x37, 0x69, 0xa1, 0xe6, 0x37, 0x95, - 0x38, 0x94, 0x4a, 0x00, 0x4e, 0x70, 0x0c, 0xd3, 0x89, 0x42, 0x5f, 0xd3, 0x89, 0x7f, 0x6d, 0x41, - 0xd7, 0x02, 0x3e, 0x83, 0x93, 0xb4, 0x66, 0x9e, 0xa4, 0x9f, 0x1c, 0x64, 0x2e, 0x73, 0x0e, 0xd1, - 0xdf, 0x9b, 0x82, 0xc7, 0x72, 0x1c, 0x25, 0xf6, 0x61, 0x66, 0xbb, 0x49, 0x4c, 0x8f, 0x34, 0xf1, - 0x31, 0x99, 0xce, 0x7b, 0x3d, 0xdd, 0xd7, 0x58, 0x36, 0x97, 0x99, 0x2e, 0x14, 0xdc, 0xdd, 0x04, - 0xfa, 0xc0, 0x82, 0xf3, 0xce, 0xfd, 0xa8, 0x2b, 0x67, 0x9f, 0x58, 0x33, 0xaf, 0x64, 0x6a, 0x29, - 0xfa, 0xe4, 0xf8, 0xe3, 0xe9, 0x6d, 0xb2, 0xb0, 0x70, 0x66, 0x5b, 0x08, 0x8b, 0xf8, 0x95, 0x94, - 0xdf, 0xee, 0xe1, 0x33, 0x99, 0xe5, 0xd1, 0xc2, 0xcf, 0x54, 0x09, 0xc1, 0x8a, 0x0e, 0xba, 0x0b, - 0xe5, 0x6d, 0xe9, 0x66, 0x26, 0xce, 0xec, 0xcc, 0x4b, 0x30, 0xd3, 0x17, 0x8d, 0xbf, 0x1b, 0x2a, - 0x10, 0x4e, 0x48, 0xa1, 0x37, 0xa1, 0xe8, 0x6f, 0x45, 0xbd, 0xf2, 0xc2, 0xa4, 0x4c, 0x8d, 0xb8, - 0x3f, 0xf2, 0xfa, 0x6a, 0x03, 0xd3, 0x8a, 0xe8, 0x06, 0x14, 0xc3, 0xcd, 0x96, 0x50, 0xac, 0x65, - 0xf2, 0xa5, 0x78, 0xa9, 0x9a, 0xbd, 0x48, 0x38, 0x25, 0xbc, 0x54, 0xc5, 0x94, 0x04, 0xaa, 0xc3, - 0x10, 0xf3, 0x29, 0x10, 0xfa, 0xb3, 0x4c, 0x86, 0xb4, 0x87, 0x6f, 0x0e, 0x77, 0x5a, 0x66, 0x08, - 0x98, 0x13, 0x42, 0x6f, 0xc1, 0x70, 0x93, 0xa5, 0x4e, 0x11, 0x21, 0x93, 0xb3, 0xa3, 0xd9, 0x74, - 0x25, 0x57, 0x11, 0x7a, 0x24, 0x56, 0x8e, 0x05, 0x05, 0xb4, 0x01, 0xc3, 0x4d, 0xd2, 0xde, 0xd9, - 0x8a, 0x98, 0xe0, 0x6d, 0x32, 0xf8, 0x09, 0xad, 0x1e, 0x99, 0x82, 0x04, 0x55, 0x86, 0x81, 0x05, - 0x2d, 0xf4, 0x59, 0x28, 0x6c, 0x35, 0x85, 0xa3, 0x41, 0xa6, 0x06, 0xcd, 0x74, 0x24, 0x5f, 0x1a, - 0x3e, 0x3a, 0xac, 0x14, 0x56, 0x97, 0x71, 0x61, 0xab, 0x89, 0xd6, 0x61, 0x64, 0x8b, 0xbb, 0x9e, - 0x0a, 0x25, 0xd9, 0xb3, 0xd9, 0x5e, 0xb1, 0x5d, 0xde, 0xa9, 0xdc, 0x40, 0x5e, 0x00, 0xb0, 0x24, - 0xc2, 0x42, 0x3f, 0x2a, 0x17, 0x5a, 0x11, 0x03, 0x79, 0xfe, 0x64, 0x6e, 0xcf, 0xdc, 0xa9, 0x3d, - 0x71, 0xc4, 0xc5, 0x1a, 0x45, 0xf4, 0x55, 0x28, 0x3b, 0x32, 0x47, 0x9c, 0x88, 0x11, 0xf1, 0x72, - 0xe6, 0x76, 0xec, 0x9d, 0x3e, 0x8f, 0xaf, 0x65, 0x85, 0x84, 0x13, 0xa2, 0x68, 0x17, 0x26, 0xf6, - 0xa3, 0xf6, 0x0e, 0x91, 0xdb, 0x97, 0x85, 0x8c, 0xc8, 0xb9, 0xae, 0xee, 0x0a, 0x44, 0x37, 0x8c, - 0x3b, 0x8e, 0xd7, 0x75, 0xe2, 0xb0, 0x27, 0xe6, 0xbb, 0x3a, 0x31, 0x6c, 0xd2, 0xa6, 0xc3, 0xff, - 0x5e, 0x27, 0xd8, 0x3c, 0x88, 0x89, 0x08, 0x9a, 0x9c, 0x39, 0xfc, 0x6f, 0x73, 0x94, 0xee, 0xe1, - 0x17, 0x00, 0x2c, 0x89, 0xd0, 0x0d, 0xee, 0xc8, 0xfc, 0x8b, 0x2c, 0x58, 0x72, 0xce, 0x06, 0xcf, - 0x4c, 0xd2, 0xa8, 0x0d, 0x0a, 0x3b, 0x19, 0x13, 0x52, 0xec, 0x44, 0x6c, 0xef, 0x04, 0x71, 0xe0, - 0xa7, 0x4e, 0xe3, 0x99, 0xfc, 0x13, 0xb1, 0x9e, 0x81, 0xdf, 0x7d, 0x22, 0x66, 0x61, 0xe1, 0xcc, - 0xb6, 0x50, 0x0b, 0x26, 0xdb, 0x41, 0x18, 0xdf, 0x0f, 0x42, 0xb9, 0xbe, 0x50, 0x0f, 0x21, 0xdf, - 0xc0, 0x14, 0x2d, 0xb2, 0x20, 0xde, 0x26, 0x04, 0xa7, 0x68, 0xa2, 0x2f, 0xc0, 0x48, 0xd4, 0x74, - 0x3c, 0x52, 0xbb, 0x3d, 0x7b, 0x2e, 0xff, 0xaa, 0x69, 0x70, 0x94, 0x9c, 0xd5, 0xc5, 0x26, 0x47, - 0xa0, 0x60, 0x49, 0x0e, 0xad, 0xc2, 0x10, 0x8b, 0xc4, 0xcf, 0xe2, 0x3d, 0xe7, 0xc4, 0x22, 0xea, - 0x32, 0xe5, 0xe4, 0x27, 0x12, 0x2b, 0xc6, 0xbc, 0x3a, 0xdd, 0x03, 0x82, 0xd7, 0x0d, 0xa2, 0xd9, - 0x0b, 0xf9, 0x7b, 0x40, 0xb0, 0xc8, 0xb7, 0x1b, 0xbd, 0xf6, 0x80, 0x42, 0xc2, 0x09, 0x51, 0x7a, - 0x1e, 0xd3, 0x33, 0xf4, 0xb1, 0x1e, 0xd6, 0x25, 0xb9, 0x27, 0x28, 0x3b, 0x8f, 0xe9, 0xf9, 0x49, - 0x49, 0xd8, 0xbf, 0x3f, 0xd2, 0xcd, 0x9f, 0x30, 0xe9, 0xe8, 0xaf, 0x58, 0x5d, 0x0f, 0x67, 0x9f, - 0x19, 0x54, 0x59, 0x73, 0x8a, 0x9c, 0xe9, 0x07, 0x16, 0x3c, 0xd6, 0xce, 0xfc, 0x10, 0x71, 0xd9, - 0x0f, 0xa6, 0xf3, 0xe1, 0x9f, 0xae, 0x62, 0xb2, 0x67, 0xc3, 0x71, 0x4e, 0x4b, 0x69, 0xee, 0xbf, - 0xf8, 0xa1, 0xb9, 0xff, 0x35, 0x18, 0x65, 0x0c, 0x65, 0x12, 0xf8, 0x6a, 0xa0, 0x40, 0x3a, 0x8c, - 0x6d, 0x58, 0x16, 0x15, 0xb1, 0x22, 0x81, 0x7e, 0xcc, 0x82, 0xa7, 0xd2, 0x5d, 0xc7, 0x84, 0x81, - 0x45, 0x04, 0x73, 0x2e, 0x98, 0xad, 0x8a, 0xef, 0x7f, 0xaa, 0xde, 0x0b, 0xf9, 0xb8, 0x1f, 0x02, - 0xee, 0xdd, 0x18, 0xaa, 0x66, 0x48, 0x86, 0xc3, 0xa6, 0x36, 0x7c, 0x00, 0xe9, 0xf0, 0x15, 0x18, - 0xdf, 0x0b, 0x3a, 0x7e, 0x2c, 0x8c, 0x51, 0x84, 0x6b, 0x20, 0x7b, 0xfd, 0x5d, 0xd3, 0xca, 0xb1, - 0x81, 0x95, 0x92, 0x29, 0x47, 0x1f, 0x56, 0xa6, 0x44, 0xef, 0xa4, 0xf2, 0x25, 0x97, 0xf3, 0x79, - 0x0b, 0x21, 0x7e, 0x9f, 0x20, 0x6b, 0xf2, 0xd9, 0xca, 0x41, 0x5f, 0xb7, 0x32, 0x18, 0x78, 0x2e, - 0x19, 0x7f, 0xce, 0x94, 0x8c, 0xaf, 0xa4, 0x25, 0xe3, 0x2e, 0x4d, 0xa8, 0x21, 0x14, 0x0f, 0x1e, - 0x6e, 0x79, 0xd0, 0xf8, 0x65, 0xb6, 0x07, 0x97, 0xfb, 0x5d, 0x4b, 0xcc, 0x2a, 0xa9, 0xa5, 0xde, - 0xbd, 0x12, 0xab, 0xa4, 0x56, 0xad, 0x8a, 0x19, 0x64, 0xd0, 0x00, 0x17, 0xf6, 0x7f, 0xb7, 0xa0, - 0x58, 0x0f, 0x5a, 0x67, 0xa0, 0xd9, 0xfd, 0xbc, 0xa1, 0xd9, 0x7d, 0x22, 0x27, 0x8f, 0x75, 0xae, - 0x1e, 0x77, 0x25, 0xa5, 0xc7, 0x7d, 0x2a, 0x8f, 0x40, 0x6f, 0xad, 0xed, 0xcf, 0x15, 0x41, 0xcf, - 0xba, 0x8d, 0xfe, 0xed, 0xc3, 0x98, 0x04, 0x17, 0x7b, 0x25, 0xe2, 0x16, 0x94, 0x99, 0x31, 0x93, - 0xf4, 0x76, 0xfb, 0x0b, 0x66, 0x19, 0x7c, 0x8f, 0xb8, 0xdb, 0x3b, 0x31, 0x69, 0xa5, 0x3f, 0xe7, - 0xec, 0x2c, 0x83, 0xff, 0xab, 0x05, 0x53, 0xa9, 0xd6, 0x91, 0x07, 0x13, 0x9e, 0xae, 0x96, 0x13, - 0xeb, 0xf4, 0xa1, 0x34, 0x7a, 0xc2, 0xb2, 0x52, 0x2b, 0xc2, 0x26, 0x71, 0x34, 0x0f, 0xa0, 0x9e, - 0xcd, 0xa4, 0xb6, 0x8b, 0x71, 0xfd, 0xea, 0x5d, 0x2d, 0xc2, 0x1a, 0x06, 0x7a, 0x15, 0xc6, 0xe2, - 0xa0, 0x1d, 0x78, 0xc1, 0xf6, 0xc1, 0x4d, 0x22, 0x43, 0xaa, 0x28, 0x7b, 0xa9, 0x8d, 0x04, 0x84, - 0x75, 0x3c, 0xfb, 0x17, 0x8a, 0x90, 0xce, 0xd4, 0xfe, 0x9d, 0x35, 0xf9, 0xf1, 0x5c, 0x93, 0xdf, - 0xb6, 0x60, 0x9a, 0xb6, 0xce, 0x6c, 0x37, 0xe4, 0x65, 0xab, 0xd2, 0xbe, 0x58, 0x3d, 0xd2, 0xbe, - 0x5c, 0xa1, 0x67, 0x57, 0x2b, 0xe8, 0xc4, 0x42, 0x5b, 0xa6, 0x1d, 0x4e, 0xb4, 0x14, 0x0b, 0xa8, - 0xc0, 0x23, 0x61, 0x28, 0x1c, 0x92, 0x74, 0x3c, 0x12, 0x86, 0x58, 0x40, 0x65, 0x56, 0x98, 0x52, - 0x4e, 0x56, 0x18, 0x16, 0x20, 0x4e, 0xbc, 0xf2, 0x0b, 0xb6, 0x47, 0x0b, 0x10, 0x27, 0x9f, 0xff, - 0x13, 0x1c, 0xfb, 0x97, 0x8b, 0x30, 0x5e, 0x0f, 0x5a, 0xc9, 0xc3, 0xd5, 0x2b, 0xc6, 0xc3, 0xd5, - 0xe5, 0xd4, 0xc3, 0xd5, 0xb4, 0x8e, 0xfb, 0x9d, 0x67, 0xaa, 0x8f, 0xea, 0x99, 0xea, 0x5f, 0x59, - 0x6c, 0xd6, 0xaa, 0xeb, 0x0d, 0x91, 0x95, 0xf6, 0x25, 0x18, 0x63, 0x07, 0x12, 0xf3, 0x80, 0x93, - 0xaf, 0x39, 0x2c, 0xe0, 0xfb, 0x7a, 0x52, 0x8c, 0x75, 0x1c, 0x74, 0x15, 0x46, 0x23, 0xe2, 0x84, - 0xcd, 0x1d, 0x75, 0xc6, 0x89, 0xb7, 0x0e, 0x5e, 0x86, 0x15, 0x14, 0xbd, 0x9d, 0xc4, 0x26, 0x2b, - 0xe6, 0xe7, 0x57, 0xd5, 0xfb, 0xc3, 0xb7, 0x48, 0x7e, 0x40, 0x32, 0xfb, 0x1e, 0xa0, 0x6e, 0xfc, - 0x01, 0xa2, 0x10, 0x55, 0xcc, 0x28, 0x44, 0xe5, 0xae, 0x08, 0x44, 0x7f, 0x66, 0xc1, 0x64, 0x3d, - 0x68, 0xd1, 0xad, 0xfb, 0x97, 0x69, 0x9f, 0xea, 0x81, 0x19, 0x87, 0x7b, 0x04, 0x66, 0xfc, 0x07, - 0x16, 0x8c, 0xd4, 0x83, 0xd6, 0x19, 0xe8, 0xd8, 0x3f, 0x67, 0xea, 0xd8, 0x1f, 0xcf, 0x59, 0x12, - 0x39, 0x6a, 0xf5, 0x5f, 0x2d, 0xc2, 0x04, 0xed, 0x67, 0xb0, 0x2d, 0x67, 0xc9, 0x18, 0x11, 0x6b, - 0x80, 0x11, 0xa1, 0x6c, 0x6e, 0xe0, 0x79, 0xc1, 0xfd, 0xf4, 0x8c, 0xad, 0xb2, 0x52, 0x2c, 0xa0, - 0xe8, 0x05, 0x18, 0x6d, 0x87, 0x64, 0xdf, 0x0d, 0x04, 0xff, 0xa8, 0xbd, 0x58, 0xd4, 0x45, 0x39, - 0x56, 0x18, 0x54, 0xee, 0x8a, 0x5c, 0xbf, 0x49, 0x64, 0x72, 0xe7, 0x12, 0xcb, 0xff, 0xc4, 0x23, - 0x2e, 0x6b, 0xe5, 0xd8, 0xc0, 0x42, 0xf7, 0xa0, 0xcc, 0xfe, 0xb3, 0x13, 0xe5, 0xe4, 0xf9, 0x6a, - 0x44, 0x9a, 0x03, 0x41, 0x00, 0x27, 0xb4, 0xd0, 0x35, 0x80, 0x58, 0x46, 0xe5, 0x8d, 0x44, 0x30, - 0x19, 0xc5, 0x6b, 0xab, 0x78, 0xbd, 0x11, 0xd6, 0xb0, 0xd0, 0xf3, 0x50, 0x8e, 0x1d, 0xd7, 0xbb, - 0xe5, 0xfa, 0x24, 0x62, 0x8a, 0xe6, 0xa2, 0xcc, 0x62, 0x20, 0x0a, 0x71, 0x02, 0xa7, 0xbc, 0x0e, - 0xf3, 0xb4, 0xe6, 0xd9, 0xae, 0x46, 0x19, 0x36, 0xe3, 0x75, 0x6e, 0xa9, 0x52, 0xac, 0x61, 0xd8, - 0xaf, 0xc3, 0x85, 0x7a, 0xd0, 0xaa, 0x07, 0x61, 0xbc, 0x1a, 0x84, 0xf7, 0x9d, 0xb0, 0x25, 0xe7, - 0xaf, 0x22, 0x03, 0xea, 0xd3, 0xb3, 0x67, 0x88, 0xef, 0x4c, 0x23, 0x54, 0xfe, 0xcb, 0x8c, 0xdb, - 0x39, 0xa1, 0x87, 0xc5, 0xff, 0x2e, 0xb0, 0x83, 0x22, 0x95, 0x82, 0x0d, 0x7d, 0x05, 0x26, 0x23, - 0x72, 0xcb, 0xf5, 0x3b, 0x0f, 0xa4, 0x7c, 0xdc, 0xc3, 0x7d, 0xa5, 0xb1, 0xa2, 0x63, 0x72, 0x2d, - 0x9b, 0x59, 0x86, 0x53, 0xd4, 0xe8, 0x10, 0x86, 0x1d, 0x7f, 0x31, 0xba, 0x13, 0x91, 0x50, 0xa4, - 0x00, 0x63, 0x43, 0x88, 0x65, 0x21, 0x4e, 0xe0, 0x74, 0xc9, 0xb0, 0x3f, 0xeb, 0x81, 0x8f, 0x83, - 0x20, 0x96, 0x8b, 0x8c, 0x25, 0x91, 0xd1, 0xca, 0xb1, 0x81, 0x85, 0x56, 0x01, 0x45, 0x9d, 0x76, - 0xdb, 0x63, 0x0f, 0xe0, 0x8e, 0x77, 0x3d, 0x0c, 0x3a, 0x6d, 0xfe, 0xf8, 0x58, 0x64, 0xf9, 0xfa, - 0x51, 0xa3, 0x0b, 0x8a, 0x33, 0x6a, 0xd0, 0x83, 0x61, 0x2b, 0x62, 0xbf, 0xd9, 0xc2, 0x2b, 0x0a, - 0xcd, 0x77, 0x83, 0x15, 0x61, 0x09, 0xa3, 0xf3, 0xcc, 0x9a, 0xe7, 0x98, 0xc3, 0xc9, 0x3c, 0x63, - 0x55, 0x8a, 0x35, 0x0c, 0xfb, 0x07, 0xd9, 0x05, 0xc3, 0x32, 0x3d, 0xc5, 0x9d, 0x90, 0xa0, 0x3d, - 0x98, 0x68, 0xb3, 0xab, 0x5f, 0xc4, 0x21, 0x16, 0x03, 0xfe, 0xca, 0x80, 0x92, 0xe2, 0x7d, 0xba, - 0x79, 0x95, 0x26, 0x87, 0xb1, 0xe0, 0x75, 0x9d, 0x1c, 0x36, 0xa9, 0xdb, 0x3f, 0x37, 0xcd, 0xce, - 0xb1, 0x06, 0x17, 0xff, 0x46, 0x84, 0xed, 0xac, 0xe0, 0x75, 0xe7, 0xf2, 0xf5, 0x10, 0xc9, 0x95, - 0x23, 0xec, 0x6f, 0xb1, 0xac, 0x8b, 0xde, 0x66, 0xaf, 0xbc, 0xfc, 0xf0, 0xe8, 0x97, 0x70, 0x97, - 0x63, 0x19, 0x0f, 0xba, 0xa2, 0x22, 0xd6, 0x88, 0xa0, 0x5b, 0x30, 0x21, 0x12, 0x03, 0x09, 0x45, - 0x53, 0xd1, 0x50, 0x24, 0x4c, 0x60, 0x1d, 0x78, 0x9c, 0x2e, 0xc0, 0x66, 0x65, 0xb4, 0x0d, 0x4f, - 0x69, 0x59, 0xf2, 0xae, 0x87, 0x0e, 0x7b, 0xf9, 0x73, 0xd9, 0xea, 0xd7, 0xce, 0xa2, 0xa7, 0x8f, - 0x0e, 0x2b, 0x4f, 0x6d, 0xf4, 0x42, 0xc4, 0xbd, 0xe9, 0xa0, 0xdb, 0x70, 0x81, 0xbb, 0xa8, 0x55, - 0x89, 0xd3, 0xf2, 0x5c, 0x5f, 0x1d, 0x76, 0x7c, 0x01, 0x5d, 0x3c, 0x3a, 0xac, 0x5c, 0x58, 0xcc, - 0x42, 0xc0, 0xd9, 0xf5, 0xd0, 0xe7, 0xa0, 0xdc, 0xf2, 0x23, 0x31, 0x06, 0xc3, 0x46, 0x02, 0xc8, - 0x72, 0x75, 0xbd, 0xa1, 0xbe, 0x3f, 0xf9, 0x83, 0x93, 0x0a, 0x68, 0x9b, 0x2b, 0x9b, 0x94, 0x6c, - 0x37, 0x92, 0x9f, 0xec, 0x5b, 0x2c, 0x09, 0xc3, 0x49, 0x85, 0x6b, 0x59, 0x95, 0x91, 0xa7, 0xe1, - 0xbf, 0x62, 0x10, 0x46, 0x6f, 0x01, 0xa2, 0xcc, 0x8f, 0xdb, 0x24, 0x8b, 0x4d, 0x16, 0x0e, 0x9a, - 0xe9, 0xe6, 0x46, 0x0d, 0xa7, 0x00, 0xd4, 0xe8, 0xc2, 0xc0, 0x19, 0xb5, 0xd0, 0x0d, 0x7a, 0x02, - 0xe9, 0xa5, 0xc2, 0x58, 0x55, 0x32, 0xcc, 0xb3, 0x55, 0xd2, 0x0e, 0x49, 0xd3, 0x89, 0x49, 0xcb, - 0xa4, 0x88, 0x53, 0xf5, 0xe8, 0xfd, 0xa4, 0x32, 0xc3, 0x80, 0x19, 0xf3, 0xa1, 0x3b, 0x3b, 0x0c, - 0x95, 0x35, 0x77, 0x82, 0x28, 0x5e, 0x27, 0xf1, 0xfd, 0x20, 0xdc, 0x15, 0x21, 0xb6, 0x92, 0x68, - 0x8f, 0x09, 0x08, 0xeb, 0x78, 0x94, 0xb7, 0x64, 0xcf, 0xac, 0xb5, 0x2a, 0x7b, 0xf5, 0x1a, 0x4d, - 0xf6, 0xc9, 0x0d, 0x5e, 0x8c, 0x25, 0x5c, 0xa2, 0xd6, 0xea, 0xcb, 0xec, 0x05, 0x2b, 0x85, 0x5a, - 0xab, 0x2f, 0x63, 0x09, 0x47, 0xa4, 0x3b, 0xb9, 0xe6, 0x64, 0xbe, 0xa6, 0xb0, 0xfb, 0x1c, 0x1f, - 0x30, 0xbf, 0xa6, 0x0f, 0xd3, 0x2a, 0xad, 0x27, 0x8f, 0x3d, 0x16, 0xcd, 0x4e, 0xb1, 0x45, 0x32, - 0x78, 0xe0, 0x32, 0xa5, 0x7b, 0xad, 0xa5, 0x28, 0xe1, 0x2e, 0xda, 0x46, 0x14, 0x8e, 0xe9, 0xbe, - 0x99, 0x7d, 0x16, 0xa0, 0x1c, 0x75, 0x36, 0x5b, 0xc1, 0x9e, 0xe3, 0xfa, 0xec, 0xc1, 0x49, 0x63, - 0x5c, 0x1a, 0x12, 0x80, 0x13, 0x1c, 0xb4, 0x0a, 0xa3, 0x8e, 0x54, 0xac, 0xa2, 0x7c, 0xb7, 0x7c, - 0xa5, 0x4e, 0xe5, 0x9e, 0xaa, 0x52, 0x95, 0xaa, 0xea, 0xa2, 0x37, 0x60, 0x42, 0x38, 0x26, 0xf1, - 0x60, 0x05, 0xec, 0x41, 0x48, 0xb3, 0x3c, 0x6f, 0xe8, 0x40, 0x6c, 0xe2, 0xa2, 0x2f, 0xc3, 0x24, - 0xa5, 0x92, 0x1c, 0x6c, 0xb3, 0xe7, 0x07, 0x39, 0x11, 0xb5, 0x8c, 0x0d, 0x7a, 0x65, 0x9c, 0x22, - 0x86, 0x5a, 0xf0, 0xa4, 0xd3, 0x89, 0x03, 0xa6, 0x9c, 0x36, 0xd7, 0xff, 0x46, 0xb0, 0x4b, 0x7c, - 0xf6, 0x2e, 0x34, 0xba, 0x74, 0xf9, 0xe8, 0xb0, 0xf2, 0xe4, 0x62, 0x0f, 0x3c, 0xdc, 0x93, 0x0a, - 0xba, 0x03, 0x63, 0x71, 0xe0, 0x31, 0x1b, 0x70, 0xca, 0x03, 0x3c, 0x96, 0x1f, 0xc5, 0x66, 0x43, - 0xa1, 0xe9, 0x8a, 0x19, 0x55, 0x15, 0xeb, 0x74, 0xd0, 0x06, 0xdf, 0x63, 0x2c, 0xbe, 0x27, 0x89, - 0x66, 0x1f, 0xcf, 0x1f, 0x18, 0x15, 0x06, 0xd4, 0xdc, 0x82, 0xa2, 0x26, 0xd6, 0xc9, 0xa0, 0xeb, - 0x30, 0xd3, 0x0e, 0xdd, 0x80, 0x2d, 0x6c, 0xf5, 0x30, 0x30, 0x6b, 0x06, 0xe9, 0xaf, 0xa7, 0x11, - 0x70, 0x77, 0x1d, 0x2a, 0xb8, 0xc9, 0xc2, 0xd9, 0x8b, 0x3c, 0xe3, 0x13, 0x67, 0x66, 0x79, 0x19, - 0x56, 0x50, 0xb4, 0xc6, 0xce, 0x65, 0x2e, 0x62, 0xcd, 0xce, 0xe5, 0x87, 0x33, 0xd0, 0x45, 0x31, - 0xce, 0xe8, 0xa8, 0xbf, 0x38, 0xa1, 0x40, 0xef, 0x8d, 0x68, 0xc7, 0x09, 0x49, 0x3d, 0x0c, 0x9a, - 0x84, 0x77, 0x86, 0x9b, 0x9f, 0x3f, 0xc1, 0xc3, 0x10, 0xd2, 0x7b, 0xa3, 0x91, 0x85, 0x80, 0xb3, - 0xeb, 0xcd, 0x7d, 0x0f, 0xcc, 0x74, 0x9d, 0xe4, 0x27, 0x8a, 0x4d, 0xfd, 0xa7, 0x43, 0x50, 0x56, - 0x8a, 0x5f, 0xb4, 0x60, 0xea, 0xf3, 0x2f, 0xa6, 0xf5, 0xf9, 0xa3, 0x94, 0xff, 0xd4, 0x55, 0xf8, - 0x1b, 0x86, 0xe1, 0x57, 0x21, 0x3f, 0x13, 0x94, 0xae, 0xf5, 0xe8, 0xeb, 0xe5, 0xa5, 0xc9, 0xf1, - 0xc5, 0x81, 0x1f, 0x06, 0x4a, 0x3d, 0x55, 0x03, 0x03, 0x26, 0x62, 0xa5, 0xa2, 0x6e, 0x3b, 0x68, - 0xd5, 0xea, 0xe9, 0xcc, 0x84, 0x75, 0x5a, 0x88, 0x39, 0x8c, 0x09, 0x2b, 0x94, 0xed, 0x60, 0xc2, - 0xca, 0xc8, 0x43, 0x0a, 0x2b, 0x92, 0x00, 0x4e, 0x68, 0x21, 0x0f, 0x66, 0x9a, 0x66, 0x52, 0x49, - 0xe5, 0xd9, 0xf5, 0x4c, 0xdf, 0xf4, 0x8e, 0x1d, 0x2d, 0x83, 0xd7, 0x72, 0x9a, 0x0a, 0xee, 0x26, - 0x8c, 0xde, 0x80, 0xd1, 0xf7, 0x82, 0x88, 0x6d, 0x0b, 0x71, 0xf7, 0x4a, 0x0f, 0x98, 0xd1, 0xb7, - 0x6f, 0x37, 0x58, 0xf9, 0xf1, 0x61, 0x65, 0xac, 0x1e, 0xb4, 0xe4, 0x5f, 0xac, 0x2a, 0xa0, 0x07, - 0x70, 0xc1, 0x38, 0xb1, 0x54, 0x77, 0x61, 0xf0, 0xee, 0x3e, 0x25, 0x9a, 0xbb, 0x50, 0xcb, 0xa2, - 0x84, 0xb3, 0x1b, 0xa0, 0xc7, 0x80, 0x1f, 0x88, 0x84, 0xac, 0xf2, 0x7e, 0x67, 0xd7, 0x78, 0x59, - 0xf7, 0x7f, 0x4e, 0x21, 0xe0, 0xee, 0x3a, 0xf6, 0x37, 0xb8, 0x9e, 0x5c, 0x68, 0xd3, 0x48, 0xd4, - 0xf1, 0xce, 0x22, 0xdf, 0xcf, 0x8a, 0xa1, 0xe8, 0x7b, 0xe8, 0xb7, 0x98, 0xdf, 0xb2, 0xd8, 0x5b, - 0xcc, 0x06, 0xd9, 0x6b, 0x7b, 0x4e, 0x7c, 0x16, 0x9e, 0x17, 0x6f, 0xc3, 0x68, 0x2c, 0x5a, 0xeb, - 0x95, 0xa2, 0x48, 0xeb, 0x14, 0x7b, 0x8f, 0x52, 0x37, 0xbf, 0x2c, 0xc5, 0x8a, 0x8c, 0xfd, 0xcf, - 0xf9, 0x0c, 0x48, 0xc8, 0x19, 0x28, 0x5d, 0xaa, 0xa6, 0xd2, 0xa5, 0xd2, 0xe7, 0x0b, 0x72, 0x94, - 0x2f, 0xff, 0xcc, 0xec, 0x37, 0x13, 0xb2, 0x3e, 0xee, 0x8f, 0x80, 0xf6, 0x4f, 0x59, 0x70, 0x3e, - 0xcb, 0x6a, 0x86, 0x72, 0x6b, 0x5c, 0xc4, 0x53, 0x8f, 0xa2, 0x6a, 0x04, 0xef, 0x8a, 0x72, 0xac, - 0x30, 0x06, 0x8e, 0xfe, 0x7f, 0xb2, 0x10, 0x61, 0xb7, 0x61, 0xa2, 0x1e, 0x12, 0xed, 0x0e, 0x78, - 0x93, 0xbb, 0x52, 0xf1, 0xfe, 0xbc, 0x70, 0x62, 0x37, 0x2a, 0xfb, 0x17, 0x0b, 0x70, 0x9e, 0xbf, - 0x6a, 0x2c, 0xee, 0x07, 0x6e, 0xab, 0x1e, 0xb4, 0x44, 0xe6, 0x86, 0x2f, 0xc1, 0x78, 0x5b, 0x93, - 0xcb, 0x7b, 0x05, 0x29, 0xd2, 0xe5, 0xf7, 0x44, 0x3e, 0xd2, 0x4b, 0xb1, 0x41, 0x0b, 0xb5, 0x60, - 0x9c, 0xec, 0xbb, 0x4d, 0xa5, 0x1a, 0x2f, 0x9c, 0xf8, 0x6e, 0x50, 0xad, 0xac, 0x68, 0x74, 0xb0, - 0x41, 0xf5, 0x11, 0x24, 0xf3, 0xb2, 0x7f, 0xda, 0x82, 0xc7, 0x73, 0x42, 0x1a, 0xd1, 0xe6, 0xee, - 0xb3, 0xf7, 0x23, 0x91, 0x17, 0x48, 0x35, 0xc7, 0x5f, 0x95, 0xb0, 0x80, 0xa2, 0x2f, 0x00, 0xf0, - 0x57, 0x21, 0x2a, 0x2e, 0xf4, 0x8b, 0xfd, 0x62, 0x84, 0xad, 0xd0, 0xc2, 0x0d, 0xc8, 0xfa, 0x58, - 0xa3, 0x65, 0xff, 0x7c, 0x11, 0x86, 0xd8, 0x2b, 0x04, 0x5a, 0x85, 0x91, 0x1d, 0x1e, 0xc0, 0x77, - 0x90, 0x58, 0xc1, 0x89, 0xdc, 0xc5, 0x0b, 0xb0, 0xac, 0x8c, 0xd6, 0xe0, 0x1c, 0x0f, 0x80, 0xec, - 0x55, 0x89, 0xe7, 0x1c, 0x48, 0xf1, 0x9d, 0xe7, 0xd2, 0x51, 0xa1, 0x13, 0x6a, 0xdd, 0x28, 0x38, - 0xab, 0x1e, 0x7a, 0x13, 0x26, 0x63, 0x77, 0x8f, 0x04, 0x9d, 0x58, 0x52, 0xe2, 0xa1, 0x8f, 0x15, - 0xb3, 0xbf, 0x61, 0x40, 0x71, 0x0a, 0x9b, 0x0a, 0x22, 0xed, 0x2e, 0x45, 0x85, 0x96, 0x9d, 0xde, - 0x54, 0x4e, 0x98, 0xb8, 0xcc, 0x5c, 0xa6, 0xc3, 0x8c, 0x83, 0x36, 0x76, 0x42, 0x12, 0xed, 0x04, - 0x5e, 0x4b, 0xa4, 0x62, 0x4e, 0xcc, 0x65, 0x52, 0x70, 0xdc, 0x55, 0x83, 0x52, 0xd9, 0x72, 0x5c, - 0xaf, 0x13, 0x92, 0x84, 0xca, 0xb0, 0x49, 0x65, 0x35, 0x05, 0xc7, 0x5d, 0x35, 0xe8, 0x3a, 0xba, - 0x20, 0x72, 0x23, 0x4b, 0x87, 0x6e, 0x65, 0x03, 0x35, 0x22, 0x5d, 0x5b, 0x7a, 0x44, 0x34, 0x11, - 0x56, 0x22, 0x2a, 0xbb, 0xb2, 0x96, 0x79, 0x53, 0x38, 0xb5, 0x48, 0x2a, 0x0f, 0x93, 0xa1, 0xf7, - 0xf7, 0x2d, 0x38, 0x97, 0x61, 0x6b, 0xc9, 0x8f, 0xaa, 0x6d, 0x37, 0x8a, 0x55, 0xbe, 0x10, 0xed, - 0xa8, 0xe2, 0xe5, 0x58, 0x61, 0xd0, 0xfd, 0xc0, 0x0f, 0xc3, 0xf4, 0x01, 0x28, 0x6c, 0x99, 0x04, - 0xf4, 0x64, 0x07, 0x20, 0xba, 0x0c, 0xa5, 0x4e, 0x44, 0x64, 0x2c, 0x22, 0x75, 0x7e, 0x33, 0x55, - 0x29, 0x83, 0x50, 0xd6, 0x74, 0x5b, 0x69, 0x29, 0x35, 0xd6, 0x94, 0xab, 0x1e, 0x39, 0xcc, 0xfe, - 0x5a, 0x11, 0x2e, 0xe6, 0xda, 0x52, 0xd3, 0x2e, 0xed, 0x05, 0xbe, 0x1b, 0x07, 0xea, 0x85, 0x8b, - 0x47, 0xc3, 0x20, 0xed, 0x9d, 0x35, 0x51, 0x8e, 0x15, 0x06, 0xba, 0x22, 0xb3, 0x74, 0xa7, 0x33, - 0xa2, 0x2c, 0x55, 0x8d, 0x44, 0xdd, 0x83, 0x66, 0x9b, 0x7a, 0x06, 0x4a, 0xed, 0x20, 0xf0, 0xd2, - 0x87, 0x11, 0xed, 0x6e, 0x10, 0x78, 0x98, 0x01, 0xd1, 0xa7, 0xc4, 0x38, 0xa4, 0x9e, 0x74, 0xb0, - 0xd3, 0x0a, 0x22, 0x6d, 0x30, 0x9e, 0x83, 0x91, 0x5d, 0x72, 0x10, 0xba, 0xfe, 0x76, 0xfa, 0xa9, - 0xef, 0x26, 0x2f, 0xc6, 0x12, 0x6e, 0x26, 0x04, 0x18, 0x39, 0xed, 0x34, 0x51, 0xa3, 0x7d, 0xaf, - 0xb6, 0x1f, 0x2d, 0xc2, 0x14, 0x5e, 0xaa, 0x7e, 0x67, 0x22, 0xee, 0x74, 0x4f, 0xc4, 0x69, 0xa7, - 0x89, 0xea, 0x3f, 0x1b, 0xbf, 0x6a, 0xc1, 0x14, 0x0b, 0x9a, 0x2b, 0x62, 0x30, 0xb8, 0x81, 0x7f, - 0x06, 0xac, 0xdb, 0x33, 0x30, 0x14, 0xd2, 0x46, 0xd3, 0xb9, 0x5f, 0x58, 0x4f, 0x30, 0x87, 0xa1, - 0x27, 0xa1, 0xc4, 0xba, 0x40, 0x27, 0x6f, 0x9c, 0x87, 0xcd, 0xaf, 0x3a, 0xb1, 0x83, 0x59, 0x29, - 0x73, 0x2c, 0xc6, 0xa4, 0xed, 0xb9, 0xbc, 0xd3, 0x89, 0xaa, 0xff, 0xe3, 0xe1, 0x58, 0x9c, 0xd9, - 0xb5, 0x0f, 0xe7, 0x58, 0x9c, 0x4d, 0xb2, 0xb7, 0x58, 0xf4, 0x3f, 0x0a, 0x70, 0x29, 0xb3, 0xde, - 0xc0, 0x8e, 0xc5, 0xbd, 0x6b, 0x9f, 0x8e, 0xc5, 0x46, 0xb6, 0x21, 0x45, 0xf1, 0x0c, 0x0d, 0x29, - 0x4a, 0x83, 0x72, 0x8e, 0x43, 0x03, 0xf8, 0xfb, 0x66, 0x0e, 0xd9, 0xc7, 0xc4, 0xdf, 0x37, 0xb3, - 0x6f, 0x39, 0x62, 0xdd, 0x9f, 0x17, 0x72, 0xbe, 0x85, 0x09, 0x78, 0x57, 0xe9, 0x39, 0xc3, 0x80, - 0x91, 0xe0, 0x84, 0xc7, 0xf9, 0x19, 0xc3, 0xcb, 0xb0, 0x82, 0x22, 0x57, 0xf3, 0x9c, 0x2d, 0xe4, - 0x67, 0x06, 0xcc, 0x6d, 0x6a, 0xde, 0x7c, 0x99, 0x51, 0x43, 0x90, 0xe1, 0x45, 0xbb, 0xa6, 0x09, - 0xe5, 0xc5, 0xc1, 0x85, 0xf2, 0xf1, 0x6c, 0x81, 0x1c, 0x2d, 0xc2, 0xd4, 0x9e, 0xeb, 0xb3, 0x4c, - 0xef, 0x26, 0x2b, 0xaa, 0x02, 0x49, 0xac, 0x99, 0x60, 0x9c, 0xc6, 0x9f, 0x7b, 0x03, 0x26, 0x1e, - 0x5e, 0x1d, 0xf9, 0xed, 0x22, 0x3c, 0xd1, 0x63, 0xdb, 0xf3, 0xb3, 0xde, 0x98, 0x03, 0xed, 0xac, - 0xef, 0x9a, 0x87, 0x3a, 0x9c, 0xdf, 0xea, 0x78, 0xde, 0x01, 0xb3, 0x55, 0x24, 0x2d, 0x89, 0x21, - 0x78, 0x45, 0x99, 0xbf, 0xff, 0xfc, 0x6a, 0x06, 0x0e, 0xce, 0xac, 0x89, 0xde, 0x02, 0x14, 0x88, - 0xb4, 0xa4, 0xd7, 0x89, 0x2f, 0xf4, 0xdd, 0x6c, 0xe0, 0x8b, 0xc9, 0x66, 0xbc, 0xdd, 0x85, 0x81, - 0x33, 0x6a, 0x51, 0xa6, 0x9f, 0xde, 0x4a, 0x07, 0xaa, 0x5b, 0x29, 0xa6, 0x1f, 0xeb, 0x40, 0x6c, - 0xe2, 0xa2, 0xeb, 0x30, 0xe3, 0xec, 0x3b, 0x2e, 0x0f, 0xb0, 0x26, 0x09, 0x70, 0xae, 0x5f, 0x29, - 0xc1, 0x16, 0xd3, 0x08, 0xb8, 0xbb, 0x4e, 0xca, 0x75, 0x77, 0x38, 0xdf, 0x75, 0xb7, 0xf7, 0xb9, - 0xd8, 0x4f, 0xa7, 0x6b, 0xff, 0x67, 0x8b, 0x5e, 0x5f, 0x19, 0xa9, 0xc5, 0xe9, 0x38, 0x28, 0xdd, - 0xa4, 0xe6, 0x45, 0xab, 0xc6, 0x61, 0x59, 0x07, 0x62, 0x13, 0x97, 0x2f, 0x88, 0x28, 0x71, 0xe8, - 0x30, 0x58, 0x77, 0xe1, 0x26, 0xaf, 0x30, 0xd0, 0x17, 0x61, 0xa4, 0xe5, 0xee, 0xbb, 0x51, 0x10, - 0x8a, 0xcd, 0x72, 0x42, 0xb3, 0xf8, 0xe4, 0x1c, 0xac, 0x72, 0x32, 0x58, 0xd2, 0xb3, 0x7f, 0xb4, - 0x00, 0x13, 0xb2, 0xc5, 0xb7, 0x3b, 0x41, 0xec, 0x9c, 0xc1, 0xb5, 0x7c, 0xdd, 0xb8, 0x96, 0x3f, - 0xd5, 0x2b, 0x56, 0x00, 0xeb, 0x52, 0xee, 0x75, 0x7c, 0x3b, 0x75, 0x1d, 0x3f, 0xdb, 0x9f, 0x54, - 0xef, 0x6b, 0xf8, 0x5f, 0x58, 0x30, 0x63, 0xe0, 0x9f, 0xc1, 0x6d, 0xb0, 0x6a, 0xde, 0x06, 0x4f, - 0xf7, 0xfd, 0x86, 0x9c, 0x5b, 0xe0, 0xeb, 0x85, 0x54, 0xdf, 0xd9, 0xe9, 0xff, 0x1e, 0x94, 0x76, - 0x9c, 0xb0, 0xd5, 0x2b, 0x26, 0x69, 0x57, 0xa5, 0xf9, 0x1b, 0x4e, 0xd8, 0xe2, 0x67, 0xf8, 0x0b, - 0x2a, 0x99, 0xa1, 0x13, 0xb6, 0xfa, 0xfa, 0x2f, 0xb1, 0xa6, 0xd0, 0xeb, 0x30, 0x1c, 0x35, 0x83, - 0xb6, 0xb2, 0x2e, 0xbc, 0xcc, 0x13, 0x1d, 0xd2, 0x92, 0xe3, 0xc3, 0x0a, 0x32, 0x9b, 0xa3, 0xc5, - 0x58, 0xe0, 0xcf, 0x6d, 0x43, 0x59, 0x35, 0xfd, 0x48, 0x7d, 0x43, 0xfe, 0x63, 0x11, 0xce, 0x65, - 0xac, 0x0b, 0x14, 0x19, 0xa3, 0xf5, 0xd2, 0x80, 0xcb, 0xe9, 0x43, 0x8e, 0x57, 0xc4, 0x24, 0x96, - 0x96, 0x98, 0xff, 0x81, 0x1b, 0xbd, 0x13, 0x91, 0x74, 0xa3, 0xb4, 0xa8, 0x7f, 0xa3, 0xb4, 0xb1, - 0x33, 0x1b, 0x6a, 0xda, 0x90, 0xea, 0xe9, 0x23, 0x9d, 0xd3, 0x3f, 0x29, 0xc2, 0xf9, 0xac, 0x10, - 0x23, 0xe8, 0x07, 0x52, 0x59, 0x49, 0x5e, 0x19, 0x34, 0x38, 0x09, 0x4f, 0x55, 0x22, 0x72, 0xec, - 0xce, 0x9b, 0x79, 0x4a, 0xfa, 0x0e, 0xb3, 0x68, 0x93, 0x39, 0x14, 0x86, 0x3c, 0x9b, 0x8c, 0xdc, - 0xe2, 0x9f, 0x19, 0xb8, 0x03, 0x22, 0x0d, 0x4d, 0x94, 0x72, 0x28, 0x94, 0xc5, 0xfd, 0x1d, 0x0a, - 0x65, 0xcb, 0x73, 0x2e, 0x8c, 0x69, 0x5f, 0xf3, 0x48, 0x67, 0x7c, 0x97, 0xde, 0x28, 0x5a, 0xbf, - 0x1f, 0xe9, 0xac, 0xff, 0xb4, 0x05, 0x29, 0x9b, 0x3e, 0xa5, 0x92, 0xb2, 0x72, 0x55, 0x52, 0x97, - 0xa1, 0x14, 0x06, 0x1e, 0x49, 0x27, 0x0a, 0xc1, 0x81, 0x47, 0x30, 0x83, 0x50, 0x8c, 0x38, 0x51, - 0x48, 0x8c, 0xeb, 0xc2, 0x96, 0x10, 0xa3, 0x9e, 0x81, 0x21, 0x8f, 0xec, 0x13, 0x2f, 0x1d, 0x85, - 0xfb, 0x16, 0x2d, 0xc4, 0x1c, 0x66, 0xff, 0x6a, 0x09, 0x9e, 0xea, 0xe9, 0x92, 0x4b, 0x45, 0x96, - 0x6d, 0x27, 0x26, 0xf7, 0x9d, 0x83, 0x74, 0xb8, 0xdc, 0xeb, 0xbc, 0x18, 0x4b, 0x38, 0xb3, 0x40, - 0xe6, 0xe1, 0xf1, 0x52, 0x0a, 0x3c, 0x11, 0x15, 0x4f, 0x40, 0x1f, 0x41, 0x7e, 0xf1, 0x6b, 0x00, - 0x51, 0xe4, 0xad, 0xf8, 0x94, 0x03, 0x6b, 0x09, 0xd3, 0xe6, 0x24, 0x8c, 0x62, 0xe3, 0x96, 0x80, - 0x60, 0x0d, 0x0b, 0x55, 0x61, 0xba, 0x1d, 0x06, 0x31, 0xd7, 0x87, 0x56, 0xb9, 0x91, 0xcc, 0x90, - 0xe9, 0x0d, 0x59, 0x4f, 0xc1, 0x71, 0x57, 0x0d, 0xf4, 0x2a, 0x8c, 0x09, 0x0f, 0xc9, 0x7a, 0x10, - 0x78, 0x42, 0x55, 0xa3, 0x4c, 0x2e, 0x1a, 0x09, 0x08, 0xeb, 0x78, 0x5a, 0x35, 0xa6, 0x64, 0x1d, - 0xc9, 0xac, 0xc6, 0x15, 0xad, 0x1a, 0x5e, 0x2a, 0xdc, 0xd0, 0xe8, 0x40, 0xe1, 0x86, 0x12, 0xe5, - 0x55, 0x79, 0xe0, 0x77, 0x25, 0xe8, 0xab, 0xee, 0xf9, 0xa5, 0x12, 0x9c, 0x13, 0x0b, 0xe7, 0x51, - 0x2f, 0x97, 0x47, 0x94, 0x05, 0xfd, 0x3b, 0x6b, 0xe6, 0xac, 0xd7, 0xcc, 0x37, 0x8a, 0x30, 0xcc, - 0xa7, 0xe2, 0x0c, 0x78, 0xf8, 0x55, 0xa1, 0xf4, 0xeb, 0x11, 0x68, 0x87, 0xf7, 0x65, 0xbe, 0xea, - 0xc4, 0x0e, 0xbf, 0xbf, 0xd4, 0x31, 0x9a, 0xa8, 0x07, 0xd1, 0xbc, 0x71, 0xd0, 0xce, 0xa5, 0xb4, - 0x5a, 0xc0, 0x69, 0x68, 0xc7, 0xee, 0x57, 0x00, 0x22, 0x96, 0x89, 0x9b, 0xd2, 0x10, 0x21, 0x9b, - 0x3e, 0xdd, 0xa3, 0xf5, 0x86, 0x42, 0xe6, 0x7d, 0x48, 0x96, 0xa0, 0x02, 0x60, 0x8d, 0xe2, 0xdc, - 0x6b, 0x50, 0x56, 0xc8, 0xfd, 0x54, 0x00, 0xe3, 0xfa, 0xad, 0xf7, 0x79, 0x98, 0x4a, 0xb5, 0x75, - 0x22, 0x0d, 0xc2, 0xaf, 0x59, 0x30, 0xc5, 0xbb, 0xbc, 0xe2, 0xef, 0x8b, 0xcd, 0xfe, 0x3e, 0x9c, - 0xf7, 0x32, 0x36, 0x9d, 0x98, 0xd1, 0xc1, 0x37, 0xa9, 0xd2, 0x18, 0x64, 0x41, 0x71, 0x66, 0x1b, - 0xe8, 0x2a, 0x8c, 0x72, 0x97, 0x1d, 0xc7, 0x13, 0x6e, 0x16, 0xe3, 0x3c, 0x4a, 0x3e, 0x2f, 0xc3, - 0x0a, 0x6a, 0xff, 0xae, 0x05, 0x33, 0xbc, 0xe7, 0x37, 0xc9, 0x81, 0x92, 0x8e, 0x3f, 0xca, 0xbe, - 0x8b, 0x24, 0x00, 0x85, 0x9c, 0x24, 0x00, 0xfa, 0xa7, 0x15, 0x7b, 0x7e, 0xda, 0x2f, 0x5a, 0x20, - 0x56, 0xe0, 0x19, 0xc8, 0x81, 0xdf, 0x63, 0xca, 0x81, 0x73, 0xf9, 0x8b, 0x3a, 0x47, 0x00, 0xfc, - 0x33, 0x0b, 0xa6, 0x39, 0x42, 0xf2, 0x10, 0xf9, 0x91, 0xce, 0xc3, 0x20, 0xd9, 0xbc, 0x54, 0xfa, - 0xde, 0xec, 0x8f, 0x32, 0x26, 0xab, 0xd4, 0x73, 0xb2, 0x5a, 0x72, 0x03, 0x9d, 0x20, 0x4b, 0xdd, - 0x89, 0x83, 0xe9, 0xda, 0x7f, 0x6c, 0x01, 0xe2, 0xcd, 0x18, 0xf7, 0x32, 0xbd, 0xed, 0x58, 0xa9, - 0xa6, 0x09, 0x4a, 0x8e, 0x1a, 0x05, 0xc1, 0x1a, 0xd6, 0xa9, 0x0c, 0x4f, 0xea, 0x35, 0xb9, 0xd8, - 0xff, 0x35, 0xf9, 0x04, 0x23, 0xfa, 0x8d, 0x12, 0xa4, 0x6d, 0xb4, 0xd1, 0x5d, 0x18, 0x6f, 0x3a, - 0x6d, 0x67, 0xd3, 0xf5, 0xdc, 0xd8, 0x25, 0x51, 0x2f, 0x33, 0x94, 0x65, 0x0d, 0x4f, 0xbc, 0x13, - 0x6a, 0x25, 0xd8, 0xa0, 0x83, 0xe6, 0x01, 0xda, 0xa1, 0xbb, 0xef, 0x7a, 0x64, 0x9b, 0x89, 0xc2, - 0xcc, 0xb1, 0x8b, 0xdb, 0x56, 0xc8, 0x52, 0xac, 0x61, 0x64, 0x38, 0x02, 0x15, 0x1f, 0x9d, 0x23, - 0x50, 0xe9, 0x84, 0x8e, 0x40, 0x43, 0x03, 0x39, 0x02, 0x61, 0x78, 0x4c, 0xde, 0xdd, 0xf4, 0xff, - 0xaa, 0xeb, 0x11, 0xc1, 0xb0, 0x71, 0x77, 0xaf, 0xb9, 0xa3, 0xc3, 0xca, 0x63, 0x38, 0x13, 0x03, - 0xe7, 0xd4, 0x44, 0x5f, 0x80, 0x59, 0xc7, 0xf3, 0x82, 0xfb, 0x6a, 0xd4, 0x56, 0xa2, 0xa6, 0xe3, - 0x71, 0x75, 0xef, 0x08, 0xa3, 0xfa, 0xe4, 0xd1, 0x61, 0x65, 0x76, 0x31, 0x07, 0x07, 0xe7, 0xd6, - 0x4e, 0xf9, 0x11, 0x8d, 0xf6, 0xf5, 0x23, 0xda, 0x85, 0x73, 0x0d, 0x12, 0xba, 0x2c, 0x87, 0x5e, - 0x2b, 0xd9, 0x92, 0x1b, 0x50, 0x0e, 0x53, 0x87, 0xd0, 0x40, 0x31, 0x60, 0xb4, 0x38, 0xa1, 0xf2, - 0xd0, 0x49, 0x08, 0xd9, 0x7f, 0x6a, 0xc1, 0x88, 0xb0, 0x13, 0x3f, 0x03, 0xde, 0x67, 0xd1, 0xd0, - 0x5f, 0x56, 0xb2, 0x0f, 0x6a, 0xd6, 0x99, 0x5c, 0xcd, 0x65, 0x2d, 0xa5, 0xb9, 0x7c, 0xba, 0x17, - 0x91, 0xde, 0x3a, 0xcb, 0x9f, 0x2c, 0xc2, 0xa4, 0x69, 0x23, 0x7f, 0x06, 0x43, 0xb0, 0x0e, 0x23, - 0x91, 0x70, 0xc8, 0x28, 0xe4, 0x1b, 0xce, 0xa6, 0x27, 0x31, 0xb1, 0x8a, 0x11, 0x2e, 0x18, 0x92, - 0x48, 0xa6, 0xa7, 0x47, 0xf1, 0x11, 0x7a, 0x7a, 0xf4, 0x73, 0x53, 0x28, 0x9d, 0x86, 0x9b, 0x82, - 0xfd, 0x4d, 0x76, 0x59, 0xe8, 0xe5, 0x67, 0xc0, 0x47, 0x5c, 0x37, 0xaf, 0x15, 0xbb, 0xc7, 0xca, - 0x12, 0x9d, 0xca, 0xe1, 0x27, 0xfe, 0xb1, 0x05, 0x63, 0x02, 0xf1, 0x0c, 0xba, 0xfd, 0xbd, 0x66, - 0xb7, 0x9f, 0xe8, 0xd1, 0xed, 0x9c, 0xfe, 0xfe, 0xdd, 0x82, 0xea, 0x6f, 0x3d, 0x08, 0xe3, 0x01, - 0x6e, 0xff, 0xd7, 0x61, 0x94, 0x4a, 0x8f, 0x41, 0x33, 0xf0, 0xc4, 0xe5, 0xff, 0x64, 0xe2, 0x21, - 0xcc, 0xcb, 0x8f, 0xb5, 0xdf, 0x58, 0x61, 0x33, 0x07, 0xd6, 0x20, 0x8c, 0xc5, 0x85, 0x9b, 0x38, - 0xb0, 0x06, 0x61, 0x8c, 0x19, 0x04, 0xb5, 0x00, 0x62, 0x27, 0xdc, 0x26, 0x31, 0x2d, 0x13, 0xc1, - 0x06, 0xf2, 0x77, 0x61, 0x27, 0x76, 0xbd, 0x79, 0xd7, 0x8f, 0xa3, 0x38, 0x9c, 0xaf, 0xf9, 0xf1, - 0xed, 0x90, 0xcb, 0x12, 0x9a, 0xcb, 0xaf, 0xa2, 0x85, 0x35, 0xba, 0xd2, 0x87, 0x8c, 0xb5, 0x31, - 0x64, 0x3e, 0x2c, 0xae, 0x8b, 0x72, 0xac, 0x30, 0xec, 0xd7, 0xd8, 0x99, 0xcc, 0x06, 0xe8, 0x64, - 0xde, 0xb8, 0xdf, 0x1a, 0x55, 0x43, 0xcb, 0x5e, 0x15, 0xaa, 0xba, 0xcf, 0x6f, 0xef, 0x23, 0x90, - 0x36, 0xac, 0xfb, 0x23, 0x24, 0x8e, 0xc1, 0xe8, 0xfb, 0xba, 0xde, 0x9b, 0x5f, 0xec, 0x73, 0x96, - 0x9e, 0xe0, 0x85, 0x99, 0x05, 0xb8, 0x65, 0x81, 0x40, 0x6b, 0x75, 0x21, 0x5d, 0x6a, 0x01, 0x6e, - 0x05, 0x00, 0x27, 0x38, 0x68, 0x41, 0x48, 0xa2, 0x25, 0x23, 0x0f, 0x95, 0x94, 0x44, 0xe5, 0xe7, - 0x6b, 0xa2, 0xe8, 0x4b, 0x30, 0xa6, 0xf2, 0x51, 0xd5, 0x79, 0x5a, 0x1f, 0x11, 0x7a, 0x61, 0x25, - 0x29, 0xc6, 0x3a, 0x0e, 0xda, 0x80, 0xa9, 0x88, 0x67, 0xe6, 0x52, 0x11, 0xb6, 0xb8, 0x9e, 0xe1, - 0xd3, 0xf2, 0x9d, 0xba, 0x61, 0x82, 0x8f, 0x59, 0x11, 0xdf, 0xac, 0xd2, 0x11, 0x2c, 0x4d, 0x02, - 0xbd, 0x09, 0x93, 0x9e, 0x9e, 0xd5, 0xb9, 0x2e, 0xd4, 0x10, 0xca, 0x8c, 0xd3, 0xc8, 0xf9, 0x5c, - 0xc7, 0x29, 0x6c, 0xca, 0x34, 0xe8, 0x25, 0x22, 0x2a, 0x9c, 0xe3, 0x6f, 0x93, 0x48, 0x64, 0xd3, - 0x61, 0x4c, 0xc3, 0xad, 0x1c, 0x1c, 0x9c, 0x5b, 0x1b, 0xbd, 0x0e, 0xe3, 0xf2, 0xf3, 0x35, 0x37, - 0xc7, 0xc4, 0x58, 0x58, 0x83, 0x61, 0x03, 0x13, 0xdd, 0x87, 0x0b, 0xf2, 0xff, 0x46, 0xe8, 0x6c, - 0x6d, 0xb9, 0x4d, 0xe1, 0x65, 0xca, 0x3d, 0x26, 0x16, 0xa5, 0x0b, 0xc6, 0x4a, 0x16, 0xd2, 0xf1, - 0x61, 0xe5, 0xb2, 0x18, 0xb5, 0x4c, 0x38, 0x9b, 0xc4, 0x6c, 0xfa, 0x68, 0x0d, 0xce, 0xed, 0x10, - 0xc7, 0x8b, 0x77, 0x96, 0x77, 0x48, 0x73, 0x57, 0x6e, 0x22, 0xe6, 0x3c, 0xa9, 0x99, 0xd8, 0xde, - 0xe8, 0x46, 0xc1, 0x59, 0xf5, 0xd0, 0x3b, 0x30, 0xdb, 0xee, 0x6c, 0x7a, 0x6e, 0xb4, 0xb3, 0x1e, - 0xc4, 0xec, 0x69, 0x5c, 0xa5, 0x73, 0x12, 0x5e, 0x96, 0xca, 0x71, 0xb4, 0x9e, 0x83, 0x87, 0x73, - 0x29, 0xa0, 0xf7, 0xe1, 0x42, 0x6a, 0x31, 0x08, 0x9f, 0xaf, 0xc9, 0xfc, 0x18, 0x9b, 0x8d, 0xac, - 0x0a, 0xc2, 0x87, 0x2b, 0x0b, 0x84, 0xb3, 0x9b, 0xf8, 0x70, 0x06, 0x13, 0xef, 0xd1, 0xca, 0x1a, - 0x77, 0x83, 0xbe, 0x0a, 0xe3, 0xfa, 0x2a, 0x12, 0x17, 0xcc, 0x95, 0x7e, 0x19, 0xcc, 0x05, 0x6f, - 0xa4, 0x56, 0x94, 0x0e, 0xc3, 0x06, 0x45, 0x9b, 0x40, 0xf6, 0xf7, 0xa1, 0x5b, 0x30, 0xda, 0xf4, - 0x5c, 0xe2, 0xc7, 0xb5, 0x7a, 0xaf, 0x68, 0x02, 0xcb, 0x02, 0x47, 0x0c, 0x98, 0x08, 0x4a, 0xc8, - 0xcb, 0xb0, 0xa2, 0x60, 0xff, 0x66, 0x01, 0x2a, 0x7d, 0x22, 0x5c, 0xa6, 0x74, 0x86, 0xd6, 0x40, - 0x3a, 0xc3, 0x45, 0x99, 0x9c, 0x6a, 0x3d, 0x25, 0xaf, 0xa6, 0x12, 0x4f, 0x25, 0x52, 0x6b, 0x1a, - 0x7f, 0x60, 0x3b, 0x4b, 0x5d, 0xed, 0x58, 0xea, 0x6b, 0x01, 0x6c, 0x3c, 0x37, 0x0c, 0x0d, 0xce, - 0xd1, 0xe7, 0xaa, 0x8e, 0xed, 0x6f, 0x16, 0xe0, 0x82, 0x1a, 0xc2, 0xbf, 0xbc, 0x03, 0x77, 0xa7, - 0x7b, 0xe0, 0x4e, 0x41, 0xf1, 0x6e, 0xdf, 0x86, 0xe1, 0xc6, 0x41, 0xd4, 0x8c, 0xbd, 0x01, 0x18, - 0xa0, 0x67, 0xcc, 0xa8, 0x3a, 0xea, 0x9a, 0x36, 0x22, 0xeb, 0xfc, 0x35, 0x0b, 0xa6, 0x36, 0x96, - 0xeb, 0x8d, 0xa0, 0xb9, 0x4b, 0xe2, 0x45, 0xae, 0x56, 0xc2, 0x82, 0xff, 0xb1, 0x1e, 0x92, 0xaf, - 0xc9, 0xe2, 0x98, 0x2e, 0x43, 0x69, 0x27, 0x88, 0xe2, 0xf4, 0xab, 0xdc, 0x8d, 0x20, 0x8a, 0x31, - 0x83, 0xd8, 0xbf, 0x67, 0xc1, 0x10, 0x4b, 0xa9, 0xd8, 0x2f, 0xcf, 0xe7, 0x20, 0xdf, 0x85, 0x5e, - 0x85, 0x61, 0xb2, 0xb5, 0x45, 0x9a, 0xb1, 0x98, 0x55, 0xe9, 0xd6, 0x37, 0xbc, 0xc2, 0x4a, 0xe9, - 0xa5, 0xcf, 0x1a, 0xe3, 0x7f, 0xb1, 0x40, 0x46, 0xf7, 0xa0, 0x1c, 0xbb, 0x7b, 0x64, 0xb1, 0xd5, - 0x12, 0xef, 0x1a, 0x0f, 0xe1, 0x45, 0xb9, 0x21, 0x09, 0xe0, 0x84, 0x96, 0xfd, 0xb5, 0x02, 0x40, - 0xe2, 0x9a, 0xdc, 0xef, 0x13, 0x97, 0xba, 0x52, 0x99, 0x5e, 0xc9, 0x48, 0x65, 0x8a, 0x12, 0x82, - 0x19, 0x89, 0x4c, 0xd5, 0x30, 0x15, 0x07, 0x1a, 0xa6, 0xd2, 0x49, 0x86, 0x69, 0x19, 0x66, 0x12, - 0xd7, 0x6a, 0x33, 0xce, 0x04, 0x8b, 0x78, 0xbf, 0x91, 0x06, 0xe2, 0x6e, 0x7c, 0xfb, 0x87, 0x2d, - 0x10, 0xee, 0x09, 0x03, 0x2c, 0xe6, 0x2f, 0xc9, 0x44, 0x80, 0x46, 0xa0, 0xdc, 0xcb, 0xf9, 0xfe, - 0x1a, 0x22, 0x3c, 0xae, 0xba, 0x3c, 0x8c, 0xa0, 0xb8, 0x06, 0x2d, 0xbb, 0x05, 0x02, 0x5a, 0x25, - 0x4c, 0xc9, 0xd0, 0xbf, 0x37, 0xd7, 0x00, 0x5a, 0x0c, 0x57, 0x4b, 0x07, 0xa6, 0x8e, 0xaa, 0xaa, - 0x82, 0x60, 0x0d, 0xcb, 0xfe, 0xf1, 0x02, 0x8c, 0xc9, 0xc0, 0xac, 0x54, 0x8e, 0xef, 0xdf, 0xca, - 0x89, 0xb2, 0x32, 0xb0, 0xfc, 0x79, 0x94, 0xb0, 0x0a, 0xde, 0xaf, 0xe7, 0xcf, 0x93, 0x00, 0x9c, - 0xe0, 0xa0, 0xe7, 0x60, 0x24, 0xea, 0x6c, 0x32, 0xf4, 0x94, 0xd1, 0x7d, 0x83, 0x17, 0x63, 0x09, - 0x47, 0x5f, 0x80, 0x69, 0x5e, 0x2f, 0x0c, 0xda, 0xce, 0x36, 0xd7, 0x38, 0x0d, 0x29, 0x2f, 0xb8, - 0xe9, 0xb5, 0x14, 0xec, 0xf8, 0xb0, 0x72, 0x3e, 0x5d, 0xc6, 0x74, 0x95, 0x5d, 0x54, 0xec, 0xaf, - 0x02, 0xea, 0x8e, 0x35, 0x8b, 0xde, 0xe2, 0x66, 0x15, 0x6e, 0xa8, 0xd2, 0x7f, 0xf7, 0x4f, 0xd8, - 0x3f, 0x2e, 0x8d, 0x27, 0x68, 0x2d, 0xac, 0xea, 0xd3, 0x9d, 0x37, 0x9d, 0x76, 0xe1, 0x41, 0x37, - 0x60, 0x98, 0x1f, 0xaa, 0xbd, 0xb2, 0x8b, 0xa7, 0xf5, 0xed, 0x3c, 0x10, 0xbe, 0x38, 0x97, 0x45, - 0x7d, 0xf4, 0x0e, 0x8c, 0xb5, 0x82, 0xfb, 0xfe, 0x7d, 0x27, 0x6c, 0x2d, 0xd6, 0x6b, 0x62, 0x5d, - 0x66, 0xf2, 0x66, 0xd5, 0x04, 0x4d, 0x77, 0x26, 0x62, 0xfa, 0xdc, 0x04, 0x84, 0x75, 0x72, 0x68, - 0x43, 0x4f, 0xbc, 0xde, 0xc3, 0x0e, 0x4e, 0x65, 0x56, 0xd7, 0x28, 0xe7, 0xa7, 0x5c, 0xff, 0xe0, - 0x1c, 0x18, 0xfb, 0xc1, 0xc8, 0xfb, 0x60, 0x9d, 0x52, 0xde, 0x07, 0x0c, 0xa3, 0x64, 0xaf, 0x1d, - 0x1f, 0x54, 0xdd, 0xb0, 0x57, 0xe2, 0xa0, 0x15, 0x81, 0xd3, 0x4d, 0x53, 0x42, 0xb0, 0xa2, 0x93, - 0x9d, 0x9c, 0xa3, 0xf8, 0x11, 0x26, 0xe7, 0x28, 0x9d, 0x61, 0x72, 0x8e, 0x75, 0x18, 0xd9, 0x76, - 0x63, 0x4c, 0xda, 0x81, 0x60, 0x28, 0x32, 0x57, 0xc2, 0x75, 0x8e, 0xd2, 0x1d, 0x1a, 0x5e, 0x00, - 0xb0, 0x24, 0x82, 0xde, 0x52, 0x7b, 0x60, 0x38, 0x9f, 0x1f, 0xef, 0x7e, 0x0e, 0xc9, 0xdc, 0x05, - 0x22, 0x19, 0xc7, 0xc8, 0xc3, 0x26, 0xe3, 0x58, 0x95, 0x29, 0x34, 0x46, 0xf3, 0xcd, 0x46, 0x59, - 0x86, 0x8c, 0x3e, 0x89, 0x33, 0x8c, 0x64, 0x23, 0xe5, 0xd3, 0x4b, 0x36, 0xf2, 0xc3, 0x16, 0x5c, - 0x68, 0x67, 0xe5, 0xdd, 0x11, 0x29, 0x30, 0x5e, 0x1d, 0x38, 0xb1, 0x90, 0xd1, 0x20, 0x13, 0xcc, - 0x32, 0xd1, 0x70, 0x76, 0x73, 0x74, 0xa0, 0xc3, 0xcd, 0x96, 0xc8, 0x9b, 0xf1, 0x4c, 0x4e, 0xd6, - 0x92, 0x1e, 0xb9, 0x4a, 0x36, 0x32, 0x72, 0x65, 0x7c, 0x32, 0x2f, 0x57, 0xc6, 0xc0, 0x19, 0x32, - 0x92, 0x7c, 0x25, 0x13, 0x1f, 0x3a, 0x5f, 0xc9, 0x5b, 0x2a, 0x5f, 0x49, 0x8f, 0xa8, 0x43, 0x3c, - 0x1b, 0x49, 0xdf, 0x2c, 0x25, 0x5a, 0xa6, 0x91, 0xa9, 0xd3, 0xc9, 0x34, 0x62, 0x1c, 0xf6, 0x3c, - 0xd9, 0xc5, 0xf3, 0x7d, 0x0e, 0x7b, 0x83, 0x6e, 0xef, 0xe3, 0x9e, 0x67, 0x55, 0x99, 0x79, 0xa8, - 0xac, 0x2a, 0x77, 0xf5, 0x2c, 0x25, 0xa8, 0x4f, 0x1a, 0x0e, 0x8a, 0x34, 0x60, 0x6e, 0x92, 0xbb, - 0xfa, 0x15, 0x74, 0x2e, 0x9f, 0xae, 0xba, 0x69, 0xba, 0xe9, 0x66, 0x5d, 0x42, 0xdd, 0x39, 0x4f, - 0xce, 0x9f, 0x4d, 0xce, 0x93, 0x0b, 0xa7, 0x9e, 0xf3, 0xe4, 0xb1, 0x33, 0xc8, 0x79, 0xf2, 0xf8, - 0x47, 0x9a, 0xf3, 0x64, 0xf6, 0x11, 0xe4, 0x3c, 0x59, 0x4f, 0x72, 0x9e, 0x5c, 0xcc, 0x9f, 0x92, - 0x0c, 0x3b, 0xb9, 0x9c, 0x4c, 0x27, 0x77, 0xa1, 0xdc, 0x96, 0x5e, 0xde, 0x22, 0x2c, 0x52, 0x76, - 0xb2, 0xc5, 0x2c, 0x57, 0x70, 0x3e, 0x25, 0x0a, 0x84, 0x13, 0x52, 0x94, 0x6e, 0x92, 0xf9, 0xe4, - 0x89, 0x1e, 0xaa, 0xb7, 0x2c, 0xa5, 0x46, 0x7e, 0xbe, 0x13, 0xfb, 0xaf, 0x17, 0xe0, 0x52, 0xef, - 0x75, 0x9d, 0x68, 0x44, 0xea, 0x89, 0x06, 0x3f, 0xa5, 0x11, 0xe1, 0x62, 0x46, 0x82, 0x35, 0x70, - 0x28, 0x8c, 0xeb, 0x30, 0xa3, 0x0c, 0xe4, 0x3c, 0xb7, 0x79, 0xa0, 0x25, 0x61, 0x54, 0xce, 0x3a, - 0x8d, 0x34, 0x02, 0xee, 0xae, 0x83, 0x16, 0x61, 0xca, 0x28, 0xac, 0x55, 0x85, 0x38, 0xa1, 0x54, - 0x30, 0x0d, 0x13, 0x8c, 0xd3, 0xf8, 0xf6, 0xd7, 0x2d, 0x78, 0x3c, 0x27, 0x1c, 0xf8, 0xc0, 0x91, - 0x1e, 0xb6, 0x60, 0xaa, 0x6d, 0x56, 0xed, 0x13, 0x10, 0xc6, 0x08, 0x3a, 0xae, 0xfa, 0x9a, 0x02, - 0xe0, 0x34, 0xd1, 0xa5, 0xab, 0xbf, 0xfd, 0x07, 0x97, 0x3e, 0xf1, 0x3b, 0x7f, 0x70, 0xe9, 0x13, - 0xbf, 0xfb, 0x07, 0x97, 0x3e, 0xf1, 0xff, 0x1d, 0x5d, 0xb2, 0x7e, 0xfb, 0xe8, 0x92, 0xf5, 0x3b, - 0x47, 0x97, 0xac, 0xdf, 0x3d, 0xba, 0x64, 0xfd, 0xfe, 0xd1, 0x25, 0xeb, 0x6b, 0x7f, 0x78, 0xe9, - 0x13, 0x5f, 0x2a, 0xec, 0xbf, 0xf4, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa2, 0x14, 0x11, 0x2e, - 0x5f, 0xdf, 0x00, 0x00, + // 12432 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0x47, + 0x76, 0xd8, 0xf5, 0xcc, 0x90, 0x9c, 0x79, 0xfc, 0xae, 0xdd, 0x95, 0xb8, 0x94, 0x76, 0x67, 0xd5, + 0xba, 0x5b, 0xad, 0x4e, 0x12, 0x69, 0xad, 0xa4, 0x93, 0x7c, 0xba, 0x93, 0x4d, 0x72, 0xc8, 0x5d, + 0x6a, 0x97, 0xdc, 0x51, 0x0d, 0x77, 0x75, 0x77, 0xd6, 0x9d, 0xaf, 0x39, 0x53, 0x24, 0x5b, 0x6c, + 0x76, 0x8f, 0xba, 0x7b, 0xb8, 0x4b, 0xc1, 0x06, 0x92, 0x73, 0xe2, 0xc4, 0xb1, 0x11, 0x1c, 0x62, + 0x23, 0x71, 0x6c, 0xc3, 0x01, 0x12, 0x07, 0xf6, 0xc5, 0x49, 0x10, 0xc7, 0x8e, 0xed, 0xdc, 0x39, + 0x89, 0xe3, 0xe4, 0x87, 0xf3, 0xe7, 0xe2, 0xe4, 0xcf, 0x19, 0x30, 0xc2, 0xd8, 0xb4, 0x91, 0xc0, + 0x3f, 0x12, 0x04, 0x31, 0x10, 0xc0, 0x8c, 0x11, 0x07, 0xf5, 0xd9, 0x55, 0x3d, 0xdd, 0x33, 0xc3, + 0x15, 0x97, 0x92, 0x0f, 0xf7, 0x6f, 0xa6, 0xde, 0xab, 0x57, 0xd5, 0xf5, 0xf9, 0xde, 0xab, 0xf7, + 0x01, 0xaf, 0xef, 0xbe, 0x16, 0xcd, 0xb9, 0xc1, 0xfc, 0x6e, 0x67, 0x93, 0x84, 0x3e, 0x89, 0x49, + 0x34, 0xbf, 0x4f, 0xfc, 0x56, 0x10, 0xce, 0x0b, 0x80, 0xd3, 0x76, 0xe7, 0x9b, 0x41, 0x48, 0xe6, + 0xf7, 0x5f, 0x9c, 0xdf, 0x26, 0x3e, 0x09, 0x9d, 0x98, 0xb4, 0xe6, 0xda, 0x61, 0x10, 0x07, 0x08, + 0x71, 0x9c, 0x39, 0xa7, 0xed, 0xce, 0x51, 0x9c, 0xb9, 0xfd, 0x17, 0x67, 0x5f, 0xd8, 0x76, 0xe3, + 0x9d, 0xce, 0xe6, 0x5c, 0x33, 0xd8, 0x9b, 0xdf, 0x0e, 0xb6, 0x83, 0x79, 0x86, 0xba, 0xd9, 0xd9, + 0x62, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x5d, 0x4b, 0x9a, 0x21, 0x0f, 0x62, 0xe2, 0x47, + 0x6e, 0xe0, 0x47, 0x2f, 0x38, 0x6d, 0x37, 0x22, 0xe1, 0x3e, 0x09, 0xe7, 0xdb, 0xbb, 0xdb, 0x14, + 0x16, 0x99, 0x08, 0xf3, 0xfb, 0x2f, 0x6e, 0x92, 0xd8, 0xe9, 0xea, 0xd1, 0xec, 0xcb, 0x09, 0xb9, + 0x3d, 0xa7, 0xb9, 0xe3, 0xfa, 0x24, 0x3c, 0x90, 0x34, 0xe6, 0x43, 0x12, 0x05, 0x9d, 0xb0, 0x49, + 0x4e, 0x54, 0x2b, 0x9a, 0xdf, 0x23, 0xb1, 0x93, 0xf1, 0xf5, 0xb3, 0xf3, 0x79, 0xb5, 0xc2, 0x8e, + 0x1f, 0xbb, 0x7b, 0xdd, 0xcd, 0x7c, 0xaa, 0x5f, 0x85, 0xa8, 0xb9, 0x43, 0xf6, 0x9c, 0xae, 0x7a, + 0x2f, 0xe5, 0xd5, 0xeb, 0xc4, 0xae, 0x37, 0xef, 0xfa, 0x71, 0x14, 0x87, 0xe9, 0x4a, 0xf6, 0xb7, + 0x2c, 0xb8, 0xb2, 0xf0, 0x76, 0x63, 0xd9, 0x73, 0xa2, 0xd8, 0x6d, 0x2e, 0x7a, 0x41, 0x73, 0xb7, + 0x11, 0x07, 0x21, 0xb9, 0x17, 0x78, 0x9d, 0x3d, 0xd2, 0x60, 0x03, 0x81, 0x9e, 0x87, 0xf2, 0x3e, + 0xfb, 0xbf, 0x5a, 0x9b, 0xb1, 0xae, 0x58, 0xd7, 0x2a, 0x8b, 0x53, 0xbf, 0x7d, 0x58, 0xfd, 0xd8, + 0xd1, 0x61, 0xb5, 0x7c, 0x4f, 0x94, 0x63, 0x85, 0x81, 0xae, 0xc2, 0xf0, 0x56, 0xb4, 0x71, 0xd0, + 0x26, 0x33, 0x05, 0x86, 0x3b, 0x21, 0x70, 0x87, 0x57, 0x1a, 0xb4, 0x14, 0x0b, 0x28, 0x9a, 0x87, + 0x4a, 0xdb, 0x09, 0x63, 0x37, 0x76, 0x03, 0x7f, 0xa6, 0x78, 0xc5, 0xba, 0x36, 0xb4, 0x38, 0x2d, + 0x50, 0x2b, 0x75, 0x09, 0xc0, 0x09, 0x0e, 0xed, 0x46, 0x48, 0x9c, 0xd6, 0x1d, 0xdf, 0x3b, 0x98, + 0x29, 0x5d, 0xb1, 0xae, 0x95, 0x93, 0x6e, 0x60, 0x51, 0x8e, 0x15, 0x86, 0xfd, 0x53, 0x05, 0x28, + 0x2f, 0x6c, 0x6d, 0xb9, 0xbe, 0x1b, 0x1f, 0xa0, 0x7b, 0x30, 0xe6, 0x07, 0x2d, 0x22, 0xff, 0xb3, + 0xaf, 0x18, 0xbd, 0x7e, 0x65, 0xae, 0x7b, 0x65, 0xce, 0xad, 0x6b, 0x78, 0x8b, 0x53, 0x47, 0x87, + 0xd5, 0x31, 0xbd, 0x04, 0x1b, 0x74, 0x10, 0x86, 0xd1, 0x76, 0xd0, 0x52, 0x64, 0x0b, 0x8c, 0x6c, + 0x35, 0x8b, 0x6c, 0x3d, 0x41, 0x5b, 0x9c, 0x3c, 0x3a, 0xac, 0x8e, 0x6a, 0x05, 0x58, 0x27, 0x82, + 0x36, 0x61, 0x92, 0xfe, 0xf5, 0x63, 0x57, 0xd1, 0x2d, 0x32, 0xba, 0x4f, 0xe7, 0xd1, 0xd5, 0x50, + 0x17, 0xcf, 0x1d, 0x1d, 0x56, 0x27, 0x53, 0x85, 0x38, 0x4d, 0xd0, 0x7e, 0x1f, 0x26, 0x16, 0xe2, + 0xd8, 0x69, 0xee, 0x90, 0x16, 0x9f, 0x41, 0xf4, 0x32, 0x94, 0x7c, 0x67, 0x8f, 0x88, 0xf9, 0xbd, + 0x22, 0x06, 0xb6, 0xb4, 0xee, 0xec, 0x91, 0xe3, 0xc3, 0xea, 0xd4, 0x5d, 0xdf, 0x7d, 0xaf, 0x23, + 0x56, 0x05, 0x2d, 0xc3, 0x0c, 0x1b, 0x5d, 0x07, 0x68, 0x91, 0x7d, 0xb7, 0x49, 0xea, 0x4e, 0xbc, + 0x23, 0xe6, 0x1b, 0x89, 0xba, 0x50, 0x53, 0x10, 0xac, 0x61, 0xd9, 0x0f, 0xa0, 0xb2, 0xb0, 0x1f, + 0xb8, 0xad, 0x7a, 0xd0, 0x8a, 0xd0, 0x2e, 0x4c, 0xb6, 0x43, 0xb2, 0x45, 0x42, 0x55, 0x34, 0x63, + 0x5d, 0x29, 0x5e, 0x1b, 0xbd, 0x7e, 0x2d, 0xf3, 0x63, 0x4d, 0xd4, 0x65, 0x3f, 0x0e, 0x0f, 0x16, + 0x1f, 0x17, 0xed, 0x4d, 0xa6, 0xa0, 0x38, 0x4d, 0xd9, 0xfe, 0xf7, 0x05, 0xb8, 0xb0, 0xf0, 0x7e, + 0x27, 0x24, 0x35, 0x37, 0xda, 0x4d, 0xaf, 0xf0, 0x96, 0x1b, 0xed, 0xae, 0x27, 0x23, 0xa0, 0x96, + 0x56, 0x4d, 0x94, 0x63, 0x85, 0x81, 0x5e, 0x80, 0x11, 0xfa, 0xfb, 0x2e, 0x5e, 0x15, 0x9f, 0x7c, + 0x4e, 0x20, 0x8f, 0xd6, 0x9c, 0xd8, 0xa9, 0x71, 0x10, 0x96, 0x38, 0x68, 0x0d, 0x46, 0x9b, 0x6c, + 0x43, 0x6e, 0xaf, 0x05, 0x2d, 0xc2, 0x26, 0xb3, 0xb2, 0xf8, 0x1c, 0x45, 0x5f, 0x4a, 0x8a, 0x8f, + 0x0f, 0xab, 0x33, 0xbc, 0x6f, 0x82, 0x84, 0x06, 0xc3, 0x7a, 0x7d, 0x64, 0xab, 0xfd, 0x55, 0x62, + 0x94, 0x20, 0x63, 0x6f, 0x5d, 0xd3, 0xb6, 0xca, 0x10, 0xdb, 0x2a, 0x63, 0xd9, 0xdb, 0x04, 0xbd, + 0x08, 0xa5, 0x5d, 0xd7, 0x6f, 0xcd, 0x0c, 0x33, 0x5a, 0x97, 0xe8, 0x9c, 0xdf, 0x72, 0xfd, 0xd6, + 0xf1, 0x61, 0x75, 0xda, 0xe8, 0x0e, 0x2d, 0xc4, 0x0c, 0xd5, 0xfe, 0x13, 0x0b, 0xaa, 0x0c, 0xb6, + 0xe2, 0x7a, 0xa4, 0x4e, 0xc2, 0xc8, 0x8d, 0x62, 0xe2, 0xc7, 0xc6, 0x80, 0x5e, 0x07, 0x88, 0x48, + 0x33, 0x24, 0xb1, 0x36, 0xa4, 0x6a, 0x61, 0x34, 0x14, 0x04, 0x6b, 0x58, 0xf4, 0x40, 0x88, 0x76, + 0x9c, 0x90, 0xad, 0x2f, 0x31, 0xb0, 0xea, 0x40, 0x68, 0x48, 0x00, 0x4e, 0x70, 0x8c, 0x03, 0xa1, + 0xd8, 0xef, 0x40, 0x40, 0x9f, 0x85, 0xc9, 0xa4, 0xb1, 0xa8, 0xed, 0x34, 0xe5, 0x00, 0xb2, 0x2d, + 0xd3, 0x30, 0x41, 0x38, 0x8d, 0x6b, 0xff, 0x23, 0x4b, 0x2c, 0x1e, 0xfa, 0xd5, 0x1f, 0xf1, 0x6f, + 0xb5, 0x7f, 0xdd, 0x82, 0x91, 0x45, 0xd7, 0x6f, 0xb9, 0xfe, 0x36, 0xfa, 0x32, 0x94, 0xe9, 0xdd, + 0xd4, 0x72, 0x62, 0x47, 0x9c, 0x7b, 0xdf, 0xa5, 0xed, 0x2d, 0x75, 0x55, 0xcc, 0xb5, 0x77, 0xb7, + 0x69, 0x41, 0x34, 0x47, 0xb1, 0xe9, 0x6e, 0xbb, 0xb3, 0xf9, 0x2e, 0x69, 0xc6, 0x6b, 0x24, 0x76, + 0x92, 0xcf, 0x49, 0xca, 0xb0, 0xa2, 0x8a, 0x6e, 0xc1, 0x70, 0xec, 0x84, 0xdb, 0x24, 0x16, 0x07, + 0x60, 0xe6, 0x41, 0xc5, 0x6b, 0x62, 0xba, 0x23, 0x89, 0xdf, 0x24, 0xc9, 0xb5, 0xb0, 0xc1, 0xaa, + 0x62, 0x41, 0xc2, 0xfe, 0x1b, 0xc3, 0x70, 0x71, 0xa9, 0xb1, 0x9a, 0xb3, 0xae, 0xae, 0xc2, 0x70, + 0x2b, 0x74, 0xf7, 0x49, 0x28, 0xc6, 0x59, 0x51, 0xa9, 0xb1, 0x52, 0x2c, 0xa0, 0xe8, 0x35, 0x18, + 0xe3, 0x17, 0xd2, 0x4d, 0xc7, 0x6f, 0x79, 0x72, 0x88, 0xcf, 0x0b, 0xec, 0xb1, 0x7b, 0x1a, 0x0c, + 0x1b, 0x98, 0x27, 0x5c, 0x54, 0x57, 0x53, 0x9b, 0x31, 0xef, 0xb2, 0xfb, 0x11, 0x0b, 0xa6, 0x78, + 0x33, 0x0b, 0x71, 0x1c, 0xba, 0x9b, 0x9d, 0x98, 0x44, 0x33, 0x43, 0xec, 0xa4, 0x5b, 0xca, 0x1a, + 0xad, 0xdc, 0x11, 0x98, 0xbb, 0x97, 0xa2, 0xc2, 0x0f, 0xc1, 0x19, 0xd1, 0xee, 0x54, 0x1a, 0x8c, + 0xbb, 0x9a, 0x45, 0x3f, 0x64, 0xc1, 0x6c, 0x33, 0xf0, 0xe3, 0x30, 0xf0, 0x3c, 0x12, 0xd6, 0x3b, + 0x9b, 0x9e, 0x1b, 0xed, 0xf0, 0x75, 0x8a, 0xc9, 0x16, 0x3b, 0x09, 0x72, 0xe6, 0x50, 0x21, 0x89, + 0x39, 0xbc, 0x7c, 0x74, 0x58, 0x9d, 0x5d, 0xca, 0x25, 0x85, 0x7b, 0x34, 0x83, 0x76, 0x01, 0xd1, + 0xab, 0xb4, 0x11, 0x3b, 0xdb, 0x24, 0x69, 0x7c, 0x64, 0xf0, 0xc6, 0x1f, 0x3b, 0x3a, 0xac, 0xa2, + 0xf5, 0x2e, 0x12, 0x38, 0x83, 0x2c, 0x7a, 0x0f, 0xce, 0xd3, 0xd2, 0xae, 0x6f, 0x2d, 0x0f, 0xde, + 0xdc, 0xcc, 0xd1, 0x61, 0xf5, 0xfc, 0x7a, 0x06, 0x11, 0x9c, 0x49, 0x7a, 0x76, 0x09, 0x2e, 0x64, + 0x4e, 0x15, 0x9a, 0x82, 0xe2, 0x2e, 0xe1, 0x2c, 0x48, 0x05, 0xd3, 0x9f, 0xe8, 0x3c, 0x0c, 0xed, + 0x3b, 0x5e, 0x47, 0xac, 0x52, 0xcc, 0xff, 0x7c, 0xba, 0xf0, 0x9a, 0x65, 0x37, 0x61, 0x6c, 0xc9, + 0x69, 0x3b, 0x9b, 0xae, 0xe7, 0xc6, 0x2e, 0x89, 0xd0, 0x33, 0x50, 0x74, 0x5a, 0x2d, 0x76, 0x45, + 0x56, 0x16, 0x2f, 0x1c, 0x1d, 0x56, 0x8b, 0x0b, 0x2d, 0x7a, 0x56, 0x83, 0xc2, 0x3a, 0xc0, 0x14, + 0x03, 0x7d, 0x12, 0x4a, 0xad, 0x30, 0x68, 0xcf, 0x14, 0x18, 0x26, 0x1d, 0xaa, 0x52, 0x2d, 0x0c, + 0xda, 0x29, 0x54, 0x86, 0x63, 0xff, 0x66, 0x01, 0x9e, 0x5c, 0x22, 0xed, 0x9d, 0x95, 0x46, 0xce, + 0xa6, 0xbb, 0x06, 0xe5, 0xbd, 0xc0, 0x77, 0xe3, 0x20, 0x8c, 0x44, 0xd3, 0xec, 0x36, 0x59, 0x13, + 0x65, 0x58, 0x41, 0xd1, 0x15, 0x28, 0xb5, 0x13, 0x4e, 0x60, 0x4c, 0x72, 0x11, 0x8c, 0x07, 0x60, + 0x10, 0x8a, 0xd1, 0x89, 0x48, 0x28, 0x6e, 0x41, 0x85, 0x71, 0x37, 0x22, 0x21, 0x66, 0x90, 0xe4, + 0x38, 0xa5, 0x07, 0xad, 0xd8, 0x56, 0xa9, 0xe3, 0x94, 0x42, 0xb0, 0x86, 0x85, 0xea, 0x50, 0x89, + 0xd4, 0xa4, 0x0e, 0x0d, 0x3e, 0xa9, 0xe3, 0xec, 0xbc, 0x55, 0x33, 0x99, 0x10, 0x31, 0x8e, 0x81, + 0xe1, 0xbe, 0xe7, 0xed, 0x37, 0x0a, 0x80, 0xf8, 0x10, 0xfe, 0x05, 0x1b, 0xb8, 0xbb, 0xdd, 0x03, + 0x97, 0xc9, 0x79, 0xdd, 0x0e, 0x9a, 0x8e, 0x97, 0x3e, 0xc2, 0x4f, 0x6b, 0xf4, 0x7e, 0xd2, 0x02, + 0xb4, 0xe4, 0xfa, 0x2d, 0x12, 0x9e, 0x81, 0xd8, 0x71, 0xb2, 0x8b, 0xf4, 0x36, 0x4c, 0x2c, 0x79, + 0x2e, 0xf1, 0xe3, 0xd5, 0xfa, 0x52, 0xe0, 0x6f, 0xb9, 0xdb, 0xe8, 0xd3, 0x30, 0x41, 0xa5, 0xb0, + 0xa0, 0x13, 0x37, 0x48, 0x33, 0xf0, 0x19, 0xc3, 0x4a, 0x65, 0x17, 0x74, 0x74, 0x58, 0x9d, 0xd8, + 0x30, 0x20, 0x38, 0x85, 0x69, 0xff, 0x1e, 0xfd, 0xd0, 0x60, 0xaf, 0x1d, 0xf8, 0xc4, 0x8f, 0x97, + 0x02, 0xbf, 0xc5, 0x05, 0x9b, 0x4f, 0x43, 0x29, 0xa6, 0x1d, 0xe7, 0x1f, 0x79, 0x55, 0x4e, 0x2d, + 0xed, 0xee, 0xf1, 0x61, 0xf5, 0xb1, 0xee, 0x1a, 0xec, 0x83, 0x58, 0x1d, 0xf4, 0xdd, 0x30, 0x1c, + 0xc5, 0x4e, 0xdc, 0x89, 0xc4, 0x67, 0x3f, 0x25, 0x3f, 0xbb, 0xc1, 0x4a, 0x8f, 0x0f, 0xab, 0x93, + 0xaa, 0x1a, 0x2f, 0xc2, 0xa2, 0x02, 0x7a, 0x16, 0x46, 0xf6, 0x48, 0x14, 0x39, 0xdb, 0x92, 0x27, + 0x9d, 0x14, 0x75, 0x47, 0xd6, 0x78, 0x31, 0x96, 0x70, 0xf4, 0x34, 0x0c, 0x91, 0x30, 0x0c, 0x42, + 0xb1, 0xaa, 0xc6, 0x05, 0xe2, 0xd0, 0x32, 0x2d, 0xc4, 0x1c, 0x66, 0xff, 0x47, 0x0b, 0x26, 0x55, + 0x5f, 0x79, 0x5b, 0x67, 0xc0, 0x7c, 0x7c, 0x01, 0xa0, 0x29, 0x3f, 0x30, 0x62, 0xe7, 0xdd, 0xe8, + 0xf5, 0xab, 0x99, 0x57, 0x6a, 0xd7, 0x30, 0x26, 0x94, 0x55, 0x51, 0x84, 0x35, 0x6a, 0xf6, 0xbf, + 0xb2, 0xe0, 0x5c, 0xea, 0x8b, 0x6e, 0xbb, 0x51, 0x8c, 0xde, 0xe9, 0xfa, 0xaa, 0xb9, 0xc1, 0xbe, + 0x8a, 0xd6, 0x66, 0xdf, 0xa4, 0xd6, 0x9c, 0x2c, 0xd1, 0xbe, 0xe8, 0x26, 0x0c, 0xb9, 0x31, 0xd9, + 0x93, 0x1f, 0xf3, 0x74, 0xcf, 0x8f, 0xe1, 0xbd, 0x4a, 0x66, 0x64, 0x95, 0xd6, 0xc4, 0x9c, 0x80, + 0xfd, 0xe3, 0x45, 0xa8, 0xf0, 0x65, 0xbb, 0xe6, 0xb4, 0xcf, 0x60, 0x2e, 0x56, 0xa1, 0xc4, 0xa8, + 0xf3, 0x8e, 0x3f, 0x93, 0xdd, 0x71, 0xd1, 0x9d, 0x39, 0x2a, 0x59, 0x70, 0xe6, 0x45, 0x1d, 0x66, + 0xb4, 0x08, 0x33, 0x12, 0xc8, 0x01, 0xd8, 0x74, 0x7d, 0x27, 0x3c, 0xa0, 0x65, 0x33, 0x45, 0x46, + 0xf0, 0x85, 0xde, 0x04, 0x17, 0x15, 0x3e, 0x27, 0xab, 0xfa, 0x9a, 0x00, 0xb0, 0x46, 0x74, 0xf6, + 0x55, 0xa8, 0x28, 0xe4, 0x93, 0xdc, 0xca, 0xb3, 0x9f, 0x85, 0xc9, 0x54, 0x5b, 0xfd, 0xaa, 0x8f, + 0xe9, 0x97, 0xfa, 0xd7, 0xd9, 0x29, 0x20, 0x7a, 0xbd, 0xec, 0xef, 0x8b, 0xe3, 0xee, 0x7d, 0x38, + 0xef, 0x65, 0x9c, 0xb2, 0x62, 0xaa, 0x06, 0x3f, 0x95, 0x9f, 0x14, 0x9f, 0x7d, 0x3e, 0x0b, 0x8a, + 0x33, 0xdb, 0xa0, 0x17, 0x55, 0xd0, 0xa6, 0x6b, 0xde, 0xf1, 0x58, 0x7f, 0x85, 0xbc, 0x78, 0x47, + 0x94, 0x61, 0x05, 0xa5, 0x47, 0xd8, 0x79, 0xd5, 0xf9, 0x5b, 0xe4, 0xa0, 0x41, 0x3c, 0xd2, 0x8c, + 0x83, 0xf0, 0x43, 0xed, 0xfe, 0x25, 0x3e, 0xfa, 0xfc, 0x04, 0x1c, 0x15, 0x04, 0x8a, 0xb7, 0xc8, + 0x01, 0x9f, 0x0a, 0xfd, 0xeb, 0x8a, 0x3d, 0xbf, 0xee, 0x97, 0x2c, 0x18, 0x57, 0x5f, 0x77, 0x06, + 0x5b, 0x7d, 0xd1, 0xdc, 0xea, 0x97, 0x7a, 0x2e, 0xf0, 0x9c, 0x4d, 0xfe, 0x8d, 0x02, 0x5c, 0x54, + 0x38, 0x94, 0x41, 0xe5, 0x7f, 0xc4, 0xaa, 0x9a, 0x87, 0x8a, 0xaf, 0xe4, 0x5d, 0xcb, 0x14, 0x34, + 0x13, 0x69, 0x37, 0xc1, 0xa1, 0x7c, 0x86, 0x9f, 0x08, 0xa5, 0x63, 0xba, 0x22, 0x48, 0x28, 0x7d, + 0x16, 0xa1, 0xd8, 0x71, 0x5b, 0xe2, 0xce, 0xf8, 0x2e, 0x39, 0xda, 0x77, 0x57, 0x6b, 0xc7, 0x87, + 0xd5, 0xa7, 0xf2, 0x94, 0x90, 0xf4, 0xb2, 0x8a, 0xe6, 0xee, 0xae, 0xd6, 0x30, 0xad, 0x8c, 0x16, + 0x60, 0x52, 0xea, 0x59, 0xef, 0x51, 0xa6, 0x33, 0xf0, 0xc5, 0xd5, 0xa2, 0xb4, 0x39, 0xd8, 0x04, + 0xe3, 0x34, 0x3e, 0xaa, 0xc1, 0xd4, 0x6e, 0x67, 0x93, 0x78, 0x24, 0xe6, 0x1f, 0x7c, 0x8b, 0x70, + 0x5d, 0x47, 0x25, 0x11, 0x86, 0x6e, 0xa5, 0xe0, 0xb8, 0xab, 0x86, 0xfd, 0xe7, 0xec, 0x88, 0x17, + 0xa3, 0x57, 0x0f, 0x03, 0xba, 0xb0, 0x28, 0xf5, 0x0f, 0x73, 0x39, 0x0f, 0xb2, 0x2a, 0x6e, 0x91, + 0x83, 0x8d, 0x80, 0xb2, 0x87, 0xd9, 0xab, 0xc2, 0x58, 0xf3, 0xa5, 0x9e, 0x6b, 0xfe, 0x57, 0x0a, + 0x70, 0x41, 0x8d, 0x80, 0xc1, 0x80, 0xfd, 0x45, 0x1f, 0x83, 0x17, 0x61, 0xb4, 0x45, 0xb6, 0x9c, + 0x8e, 0x17, 0x2b, 0xc5, 0xdb, 0x10, 0x57, 0xbe, 0xd6, 0x92, 0x62, 0xac, 0xe3, 0x9c, 0x60, 0xd8, + 0x7e, 0x6e, 0x94, 0xdd, 0xad, 0xb1, 0x43, 0xd7, 0xb8, 0xda, 0x35, 0x56, 0xee, 0xae, 0x79, 0x1a, + 0x86, 0xdc, 0x3d, 0xca, 0x6b, 0x15, 0x4c, 0x16, 0x6a, 0x95, 0x16, 0x62, 0x0e, 0x43, 0x9f, 0x80, + 0x91, 0x66, 0xb0, 0xb7, 0xe7, 0xf8, 0x2d, 0x76, 0xe5, 0x55, 0x16, 0x47, 0x29, 0x3b, 0xb6, 0xc4, + 0x8b, 0xb0, 0x84, 0xa1, 0x27, 0xa1, 0xe4, 0x84, 0xdb, 0xd1, 0x4c, 0x89, 0xe1, 0x94, 0x69, 0x4b, + 0x0b, 0xe1, 0x76, 0x84, 0x59, 0x29, 0x95, 0x03, 0xee, 0x07, 0xe1, 0xae, 0xeb, 0x6f, 0xd7, 0xdc, + 0x50, 0x6c, 0x09, 0x75, 0x17, 0xbe, 0xad, 0x20, 0x58, 0xc3, 0x42, 0x2b, 0x30, 0xd4, 0x0e, 0xc2, + 0x38, 0x9a, 0x19, 0x66, 0xc3, 0xfd, 0x54, 0xce, 0x41, 0xc4, 0xbf, 0xb6, 0x1e, 0x84, 0x71, 0xf2, + 0x01, 0xf4, 0x5f, 0x84, 0x79, 0x75, 0xf4, 0xdd, 0x50, 0x24, 0xfe, 0xfe, 0xcc, 0x08, 0xa3, 0x32, + 0x9b, 0x45, 0x65, 0xd9, 0xdf, 0xbf, 0xe7, 0x84, 0xc9, 0x29, 0xbd, 0xec, 0xef, 0x63, 0x5a, 0x07, + 0x7d, 0x1e, 0x2a, 0x72, 0x8b, 0x47, 0x42, 0x30, 0xcf, 0x5c, 0x62, 0xf2, 0x60, 0xc0, 0xe4, 0xbd, + 0x8e, 0x1b, 0x92, 0x3d, 0xe2, 0xc7, 0x51, 0x72, 0xa6, 0x49, 0x68, 0x84, 0x13, 0x6a, 0xe8, 0xf3, + 0x52, 0x1b, 0xb4, 0x16, 0x74, 0xfc, 0x38, 0x9a, 0xa9, 0xb0, 0xee, 0x65, 0xea, 0xe9, 0xef, 0x25, + 0x78, 0x69, 0x75, 0x11, 0xaf, 0x8c, 0x0d, 0x52, 0x08, 0xc3, 0xb8, 0xe7, 0xee, 0x13, 0x9f, 0x44, + 0x51, 0x3d, 0x0c, 0x36, 0xc9, 0x0c, 0xb0, 0x9e, 0x5f, 0xcc, 0x56, 0x5f, 0x07, 0x9b, 0x64, 0x71, + 0xfa, 0xe8, 0xb0, 0x3a, 0x7e, 0x5b, 0xaf, 0x83, 0x4d, 0x12, 0xe8, 0x2e, 0x4c, 0x50, 0x01, 0xc4, + 0x4d, 0x88, 0x8e, 0xf6, 0x23, 0xca, 0xa4, 0x0f, 0x6c, 0x54, 0xc2, 0x29, 0x22, 0xe8, 0x4d, 0xa8, + 0x78, 0xee, 0x16, 0x69, 0x1e, 0x34, 0x3d, 0x32, 0x33, 0xc6, 0x28, 0x66, 0x6e, 0xab, 0xdb, 0x12, + 0x89, 0x0b, 0x78, 0xea, 0x2f, 0x4e, 0xaa, 0xa3, 0x7b, 0xf0, 0x58, 0x4c, 0xc2, 0x3d, 0xd7, 0x77, + 0xe8, 0x76, 0x10, 0xf2, 0x02, 0x7b, 0x04, 0x18, 0x67, 0xeb, 0xed, 0xb2, 0x18, 0xba, 0xc7, 0x36, + 0x32, 0xb1, 0x70, 0x4e, 0x6d, 0x74, 0x07, 0x26, 0xd9, 0x4e, 0xa8, 0x77, 0x3c, 0xaf, 0x1e, 0x78, + 0x6e, 0xf3, 0x60, 0x66, 0x82, 0x11, 0xfc, 0x84, 0xbc, 0x17, 0x56, 0x4d, 0xf0, 0xf1, 0x61, 0x15, + 0x92, 0x7f, 0x38, 0x5d, 0x1b, 0x6d, 0x32, 0xad, 0x6f, 0x27, 0x74, 0xe3, 0x03, 0xba, 0x7e, 0xc9, + 0x83, 0x78, 0x66, 0xb2, 0xa7, 0x7e, 0x40, 0x47, 0x55, 0xaa, 0x61, 0xbd, 0x10, 0xa7, 0x09, 0xd2, + 0xad, 0x1d, 0xc5, 0x2d, 0xd7, 0x9f, 0x99, 0x62, 0x27, 0x86, 0xda, 0x19, 0x0d, 0x5a, 0x88, 0x39, + 0x8c, 0x69, 0x7c, 0xe9, 0x8f, 0x3b, 0xf4, 0x04, 0x9d, 0x66, 0x88, 0x89, 0xc6, 0x57, 0x02, 0x70, + 0x82, 0x43, 0x99, 0x9a, 0x38, 0x3e, 0x98, 0x41, 0x0c, 0x55, 0x6d, 0x97, 0x8d, 0x8d, 0xcf, 0x63, + 0x5a, 0x8e, 0x6e, 0xc3, 0x08, 0xf1, 0xf7, 0x57, 0xc2, 0x60, 0x6f, 0xe6, 0x5c, 0xfe, 0x9e, 0x5d, + 0xe6, 0x28, 0xfc, 0x40, 0x4f, 0x04, 0x3c, 0x51, 0x8c, 0x25, 0x09, 0xf4, 0x00, 0x66, 0x32, 0x66, + 0x84, 0x4f, 0xc0, 0x79, 0x36, 0x01, 0x9f, 0x11, 0x75, 0x67, 0x36, 0x72, 0xf0, 0x8e, 0x7b, 0xc0, + 0x70, 0x2e, 0x75, 0xf4, 0x45, 0x18, 0xe7, 0x1b, 0x8a, 0x3f, 0x17, 0x45, 0x33, 0x17, 0xd8, 0xd7, + 0x5c, 0xc9, 0xdf, 0x9c, 0x1c, 0x71, 0xf1, 0x82, 0xe8, 0xd0, 0xb8, 0x5e, 0x1a, 0x61, 0x93, 0x9a, + 0xbd, 0x09, 0x13, 0xea, 0xdc, 0x62, 0x4b, 0x07, 0x55, 0x61, 0x88, 0x71, 0x3b, 0x42, 0x23, 0x53, + 0xa1, 0x33, 0xc5, 0x38, 0x21, 0xcc, 0xcb, 0xd9, 0x4c, 0xb9, 0xef, 0x93, 0xc5, 0x83, 0x98, 0x70, + 0xa9, 0xba, 0xa8, 0xcd, 0x94, 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x7f, 0x9c, 0x6b, 0x4c, 0x0e, 0xc7, + 0x01, 0xae, 0x83, 0xe7, 0xa1, 0xbc, 0x13, 0x44, 0x31, 0xc5, 0x66, 0x6d, 0x0c, 0x25, 0x7c, 0xe2, + 0x4d, 0x51, 0x8e, 0x15, 0x06, 0x7a, 0x1d, 0xc6, 0x9b, 0x7a, 0x03, 0xe2, 0x2e, 0x53, 0x43, 0x60, + 0xb4, 0x8e, 0x4d, 0x5c, 0xf4, 0x1a, 0x94, 0xd9, 0x63, 0x6f, 0x33, 0xf0, 0x04, 0x93, 0x25, 0x2f, + 0xe4, 0x72, 0x5d, 0x94, 0x1f, 0x6b, 0xbf, 0xb1, 0xc2, 0x46, 0x57, 0x61, 0x98, 0x76, 0x61, 0xb5, + 0x2e, 0x6e, 0x11, 0xa5, 0x53, 0xb9, 0xc9, 0x4a, 0xb1, 0x80, 0xda, 0x7f, 0xab, 0xa0, 0x8d, 0x32, + 0x95, 0x48, 0x09, 0xaa, 0xc3, 0xc8, 0x7d, 0xc7, 0x8d, 0x5d, 0x7f, 0x5b, 0xb0, 0x0b, 0xcf, 0xf6, + 0xbc, 0x52, 0x58, 0xa5, 0xb7, 0x79, 0x05, 0x7e, 0xe9, 0x89, 0x3f, 0x58, 0x92, 0xa1, 0x14, 0xc3, + 0x8e, 0xef, 0x53, 0x8a, 0x85, 0x41, 0x29, 0x62, 0x5e, 0x81, 0x53, 0x14, 0x7f, 0xb0, 0x24, 0x83, + 0xde, 0x01, 0x90, 0xcb, 0x92, 0xb4, 0xc4, 0x23, 0xeb, 0xf3, 0xfd, 0x89, 0x6e, 0xa8, 0x3a, 0x8b, + 0x13, 0xf4, 0x4a, 0x4d, 0xfe, 0x63, 0x8d, 0x9e, 0x1d, 0x33, 0xb6, 0xaa, 0xbb, 0x33, 0xe8, 0xfb, + 0xe8, 0x49, 0xe0, 0x84, 0x31, 0x69, 0x2d, 0xc4, 0x62, 0x70, 0x3e, 0x39, 0x98, 0x4c, 0xb1, 0xe1, + 0xee, 0x11, 0xfd, 0xd4, 0x10, 0x44, 0x70, 0x42, 0xcf, 0xfe, 0xb5, 0x22, 0xcc, 0xe4, 0x75, 0x97, + 0x2e, 0x3a, 0xf2, 0xc0, 0x8d, 0x97, 0x28, 0x37, 0x64, 0x99, 0x8b, 0x6e, 0x59, 0x94, 0x63, 0x85, + 0x41, 0x67, 0x3f, 0x72, 0xb7, 0xa5, 0x48, 0x38, 0x94, 0xcc, 0x7e, 0x83, 0x95, 0x62, 0x01, 0xa5, + 0x78, 0x21, 0x71, 0x22, 0xf1, 0x8a, 0xaf, 0xad, 0x12, 0xcc, 0x4a, 0xb1, 0x80, 0xea, 0xfa, 0xa6, + 0x52, 0x1f, 0x7d, 0x93, 0x31, 0x44, 0x43, 0xa7, 0x3b, 0x44, 0xe8, 0x4b, 0x00, 0x5b, 0xae, 0xef, + 0x46, 0x3b, 0x8c, 0xfa, 0xf0, 0x89, 0xa9, 0x2b, 0x5e, 0x6a, 0x45, 0x51, 0xc1, 0x1a, 0x45, 0xf4, + 0x0a, 0x8c, 0xaa, 0x0d, 0xb8, 0x5a, 0x63, 0x4f, 0x1a, 0xda, 0x13, 0x71, 0x72, 0x1a, 0xd5, 0xb0, + 0x8e, 0x67, 0xbf, 0x9b, 0x5e, 0x2f, 0x62, 0x07, 0x68, 0xe3, 0x6b, 0x0d, 0x3a, 0xbe, 0x85, 0xde, + 0xe3, 0x6b, 0xff, 0x56, 0x11, 0x26, 0x8d, 0xc6, 0x3a, 0xd1, 0x00, 0x67, 0xd6, 0x0d, 0x7a, 0xcf, + 0x39, 0x31, 0x11, 0xfb, 0xcf, 0xee, 0xbf, 0x55, 0xf4, 0xbb, 0x90, 0xee, 0x00, 0x5e, 0x1f, 0x7d, + 0x09, 0x2a, 0x9e, 0x13, 0x31, 0xdd, 0x15, 0x11, 0xfb, 0x6e, 0x10, 0x62, 0x89, 0x1c, 0xe1, 0x44, + 0xb1, 0x76, 0xd5, 0x70, 0xda, 0x09, 0x49, 0x7a, 0x21, 0x53, 0xde, 0x47, 0x9a, 0x89, 0xa8, 0x4e, + 0x50, 0x06, 0xe9, 0x00, 0x73, 0x18, 0x7a, 0x0d, 0xc6, 0x42, 0xc2, 0x56, 0xc5, 0x12, 0x65, 0xe5, + 0xd8, 0x32, 0x1b, 0x4a, 0x78, 0x3e, 0xac, 0xc1, 0xb0, 0x81, 0x99, 0xb0, 0xf2, 0xc3, 0x3d, 0x58, + 0xf9, 0x67, 0x61, 0x84, 0xfd, 0x50, 0x2b, 0x40, 0xcd, 0xc6, 0x2a, 0x2f, 0xc6, 0x12, 0x9e, 0x5e, + 0x30, 0xe5, 0x01, 0x17, 0xcc, 0x27, 0x61, 0xa2, 0xe6, 0x90, 0xbd, 0xc0, 0x5f, 0xf6, 0x5b, 0xed, + 0xc0, 0xf5, 0x63, 0x34, 0x03, 0x25, 0x76, 0x3b, 0xf0, 0xbd, 0x5d, 0xa2, 0x14, 0x70, 0x89, 0x32, + 0xe6, 0xf6, 0x36, 0x5c, 0xa8, 0x05, 0xf7, 0xfd, 0xfb, 0x4e, 0xd8, 0x5a, 0xa8, 0xaf, 0x6a, 0x72, + 0xee, 0xba, 0x94, 0xb3, 0xb8, 0xd9, 0x45, 0xe6, 0x99, 0xaa, 0xd5, 0xe4, 0x77, 0xed, 0x8a, 0xeb, + 0x91, 0x1c, 0x6d, 0xc4, 0xdf, 0x29, 0x18, 0x2d, 0x25, 0xf8, 0xea, 0x89, 0xc3, 0xca, 0x7d, 0xe2, + 0x78, 0x0b, 0xca, 0x5b, 0x2e, 0xf1, 0x5a, 0x98, 0x6c, 0x89, 0x25, 0xf6, 0x4c, 0xfe, 0x4b, 0xf2, + 0x0a, 0xc5, 0x94, 0xda, 0x27, 0x2e, 0xa5, 0xad, 0x88, 0xca, 0x58, 0x91, 0x41, 0xbb, 0x30, 0x25, + 0xc5, 0x00, 0x09, 0x15, 0x0b, 0xee, 0xd9, 0x5e, 0xb2, 0x85, 0x49, 0xfc, 0xfc, 0xd1, 0x61, 0x75, + 0x0a, 0xa7, 0xc8, 0xe0, 0x2e, 0xc2, 0x54, 0x2c, 0xdb, 0xa3, 0x47, 0x6b, 0x89, 0x0d, 0x3f, 0x13, + 0xcb, 0x98, 0x84, 0xc9, 0x4a, 0xed, 0x9f, 0xb1, 0xe0, 0xf1, 0xae, 0x91, 0x11, 0x92, 0xf6, 0x29, + 0xcf, 0x42, 0x5a, 0xf2, 0x2d, 0xf4, 0x97, 0x7c, 0xed, 0x7f, 0x6c, 0xc1, 0xf9, 0xe5, 0xbd, 0x76, + 0x7c, 0x50, 0x73, 0xcd, 0x67, 0x98, 0x57, 0x61, 0x78, 0x8f, 0xb4, 0xdc, 0xce, 0x9e, 0x98, 0xb9, + 0xaa, 0x3c, 0x7e, 0xd6, 0x58, 0xe9, 0xf1, 0x61, 0x75, 0xbc, 0x11, 0x07, 0xa1, 0xb3, 0x4d, 0x78, + 0x01, 0x16, 0xe8, 0xec, 0x10, 0x77, 0xdf, 0x27, 0xb7, 0xdd, 0x3d, 0x57, 0x5a, 0x06, 0xf4, 0xd4, + 0x9d, 0xcd, 0xc9, 0x01, 0x9d, 0x7b, 0xab, 0xe3, 0xf8, 0xb1, 0x1b, 0x1f, 0x88, 0x17, 0x26, 0x49, + 0x04, 0x27, 0xf4, 0xec, 0x6f, 0x59, 0x30, 0x29, 0xd7, 0xfd, 0x42, 0xab, 0x15, 0x92, 0x28, 0x42, + 0xb3, 0x50, 0x70, 0xdb, 0xa2, 0x97, 0x20, 0x7a, 0x59, 0x58, 0xad, 0xe3, 0x82, 0xdb, 0x46, 0x75, + 0xa8, 0x70, 0x03, 0x83, 0x64, 0x71, 0x0d, 0x64, 0xa6, 0xc0, 0x7a, 0xb0, 0x21, 0x6b, 0xe2, 0x84, + 0x88, 0xe4, 0xe0, 0xd8, 0x99, 0x59, 0x34, 0x9f, 0xa7, 0x6e, 0x8a, 0x72, 0xac, 0x30, 0xd0, 0x35, + 0x28, 0xfb, 0x41, 0x8b, 0xdb, 0x7b, 0xf0, 0xdb, 0x8f, 0x2d, 0xd9, 0x75, 0x51, 0x86, 0x15, 0xd4, + 0xfe, 0x31, 0x0b, 0xc6, 0xe4, 0x97, 0x0d, 0xc8, 0x4c, 0xd2, 0xad, 0x95, 0x30, 0x92, 0xc9, 0xd6, + 0xa2, 0xcc, 0x20, 0x83, 0x18, 0x3c, 0x60, 0xf1, 0x24, 0x3c, 0xa0, 0xfd, 0xd3, 0x05, 0x98, 0x90, + 0xdd, 0x69, 0x74, 0x36, 0x23, 0x12, 0xa3, 0x0d, 0xa8, 0x38, 0x7c, 0xc8, 0x89, 0x5c, 0xb1, 0x4f, + 0x67, 0x0b, 0x1f, 0xc6, 0xfc, 0x24, 0xd7, 0xf2, 0x82, 0xac, 0x8d, 0x13, 0x42, 0xc8, 0x83, 0x69, + 0x3f, 0x88, 0xd9, 0x11, 0xad, 0xe0, 0xbd, 0x9e, 0x40, 0xd2, 0xd4, 0x2f, 0x0a, 0xea, 0xd3, 0xeb, + 0x69, 0x2a, 0xb8, 0x9b, 0x30, 0x5a, 0x96, 0x0a, 0x8f, 0x62, 0xbe, 0xb8, 0xa1, 0xcf, 0x42, 0xb6, + 0xbe, 0xc3, 0xfe, 0x0d, 0x0b, 0x2a, 0x12, 0xed, 0x2c, 0x5e, 0xbb, 0xd6, 0x60, 0x24, 0x62, 0x93, + 0x20, 0x87, 0xc6, 0xee, 0xd5, 0x71, 0x3e, 0x5f, 0xc9, 0xcd, 0xc3, 0xff, 0x47, 0x58, 0xd2, 0x60, + 0xfa, 0x6e, 0xd5, 0xfd, 0x8f, 0x88, 0xbe, 0x5b, 0xf5, 0x27, 0xe7, 0x86, 0xf9, 0xef, 0xac, 0xcf, + 0x9a, 0x58, 0x4b, 0x19, 0xa4, 0x76, 0x48, 0xb6, 0xdc, 0x07, 0x69, 0x06, 0xa9, 0xce, 0x4a, 0xb1, + 0x80, 0xa2, 0x77, 0x60, 0xac, 0x29, 0x15, 0x9d, 0xc9, 0x31, 0x70, 0xb5, 0xa7, 0xd2, 0x5d, 0xbd, + 0xcf, 0x70, 0x5b, 0xd0, 0x25, 0xad, 0x3e, 0x36, 0xa8, 0x99, 0x36, 0x08, 0xc5, 0x7e, 0x36, 0x08, + 0x09, 0xdd, 0xdc, 0x57, 0x74, 0xfb, 0x67, 0x2d, 0x18, 0xe6, 0xea, 0xb2, 0xc1, 0xf4, 0x8b, 0xda, + 0x73, 0x55, 0x32, 0x76, 0xf7, 0x68, 0xa1, 0x78, 0x7e, 0x42, 0x6b, 0x50, 0x61, 0x3f, 0x98, 0xda, + 0xa0, 0x98, 0x6f, 0x04, 0xcb, 0x5b, 0xd5, 0x3b, 0x78, 0x4f, 0x56, 0xc3, 0x09, 0x05, 0xfb, 0x27, + 0x8a, 0xf4, 0xa8, 0x4a, 0x50, 0x8d, 0x1b, 0xdc, 0x7a, 0x74, 0x37, 0x78, 0xe1, 0x51, 0xdd, 0xe0, + 0xdb, 0x30, 0xd9, 0xd4, 0x1e, 0xb7, 0x92, 0x99, 0xbc, 0xd6, 0x73, 0x91, 0x68, 0xef, 0x60, 0x5c, + 0x65, 0xb4, 0x64, 0x12, 0xc1, 0x69, 0xaa, 0xe8, 0xfb, 0x60, 0x8c, 0xcf, 0xb3, 0x68, 0xa5, 0xc4, + 0x5a, 0xf9, 0x44, 0xfe, 0x7a, 0xd1, 0x9b, 0x60, 0x2b, 0xb1, 0xa1, 0x55, 0xc7, 0x06, 0x31, 0xfb, + 0xd7, 0xca, 0x30, 0xb4, 0xbc, 0x4f, 0xfc, 0xf8, 0x0c, 0x0e, 0xa4, 0x26, 0x4c, 0xb8, 0xfe, 0x7e, + 0xe0, 0xed, 0x93, 0x16, 0x87, 0x9f, 0xe4, 0x72, 0x7d, 0x4c, 0x90, 0x9e, 0x58, 0x35, 0x48, 0xe0, + 0x14, 0xc9, 0x47, 0x21, 0x61, 0xde, 0x80, 0x61, 0x3e, 0xf7, 0x42, 0xbc, 0xcc, 0x54, 0x06, 0xb3, + 0x41, 0x14, 0xbb, 0x20, 0x91, 0x7e, 0xb9, 0xf6, 0x59, 0x54, 0x47, 0xef, 0xc2, 0xc4, 0x96, 0x1b, + 0x46, 0x31, 0x15, 0x0d, 0xa3, 0xd8, 0xd9, 0x6b, 0x3f, 0x84, 0x44, 0xa9, 0xc6, 0x61, 0xc5, 0xa0, + 0x84, 0x53, 0x94, 0xd1, 0x36, 0x8c, 0x53, 0x21, 0x27, 0x69, 0x6a, 0xe4, 0xc4, 0x4d, 0x29, 0x95, + 0xd1, 0x6d, 0x9d, 0x10, 0x36, 0xe9, 0xd2, 0xc3, 0xa4, 0xc9, 0x84, 0xa2, 0x32, 0xe3, 0x28, 0xd4, + 0x61, 0xc2, 0xa5, 0x21, 0x0e, 0xa3, 0x67, 0x12, 0x33, 0x5b, 0xa9, 0x98, 0x67, 0x92, 0x66, 0x9c, + 0xf2, 0x65, 0xa8, 0x10, 0x3a, 0x84, 0x94, 0xb0, 0x50, 0x8c, 0xcf, 0x0f, 0xd6, 0xd7, 0x35, 0xb7, + 0x19, 0x06, 0xa6, 0x2c, 0xbf, 0x2c, 0x29, 0xe1, 0x84, 0x28, 0x5a, 0x82, 0xe1, 0x88, 0x84, 0x2e, + 0x89, 0x84, 0x8a, 0xbc, 0xc7, 0x34, 0x32, 0x34, 0x6e, 0x2d, 0xcd, 0x7f, 0x63, 0x51, 0x95, 0x2e, + 0x2f, 0x87, 0x49, 0x43, 0x4c, 0x2b, 0xae, 0x2d, 0xaf, 0x05, 0x56, 0x8a, 0x05, 0x14, 0xbd, 0x09, + 0x23, 0x21, 0xf1, 0x98, 0xb2, 0x68, 0x7c, 0xf0, 0x45, 0xce, 0x75, 0x4f, 0xbc, 0x1e, 0x96, 0x04, + 0xd0, 0x2d, 0x40, 0x21, 0xa1, 0x3c, 0x84, 0xeb, 0x6f, 0x2b, 0x63, 0x0e, 0xa1, 0xeb, 0x7e, 0x42, + 0xb4, 0x7f, 0x0e, 0x27, 0x18, 0xd2, 0x8e, 0x12, 0x67, 0x54, 0x43, 0x37, 0x60, 0x5a, 0x95, 0xae, + 0xfa, 0x51, 0xec, 0xf8, 0x4d, 0xc2, 0xd4, 0xdc, 0x95, 0x84, 0x2b, 0xc2, 0x69, 0x04, 0xdc, 0x5d, + 0xc7, 0xfe, 0x1a, 0x65, 0x67, 0xe8, 0x68, 0x9d, 0x01, 0x2f, 0xf0, 0x86, 0xc9, 0x0b, 0x5c, 0xcc, + 0x9d, 0xb9, 0x1c, 0x3e, 0xe0, 0xc8, 0x82, 0x51, 0x6d, 0x66, 0x93, 0x35, 0x6b, 0xf5, 0x58, 0xb3, + 0x1d, 0x98, 0xa2, 0x2b, 0xfd, 0xce, 0x26, 0x73, 0x1c, 0x6a, 0xb1, 0x85, 0x59, 0x78, 0xb8, 0x85, + 0xa9, 0x5e, 0x99, 0x6f, 0xa7, 0x08, 0xe2, 0xae, 0x26, 0xd0, 0xab, 0x52, 0x73, 0x52, 0x34, 0x8c, + 0xb4, 0xb8, 0x56, 0xe4, 0xf8, 0xb0, 0x3a, 0xa5, 0x7d, 0x88, 0xae, 0x29, 0xb1, 0xbf, 0x2c, 0xbf, + 0x51, 0xbd, 0xe6, 0x37, 0xd5, 0x62, 0x49, 0xbd, 0xe6, 0xab, 0xe5, 0x80, 0x13, 0x1c, 0xba, 0x47, + 0xa9, 0x08, 0x92, 0x7e, 0xcd, 0xa7, 0x02, 0x0a, 0x66, 0x10, 0xfb, 0x25, 0x80, 0xe5, 0x07, 0xa4, + 0xc9, 0x97, 0xba, 0xfe, 0x00, 0x69, 0xe5, 0x3f, 0x40, 0xda, 0xff, 0xd9, 0x82, 0x89, 0x95, 0x25, + 0x43, 0x4c, 0x9c, 0x03, 0xe0, 0xb2, 0xd1, 0xdb, 0x6f, 0xaf, 0x4b, 0xdd, 0x3a, 0x57, 0x8f, 0xaa, + 0x52, 0xac, 0x61, 0xa0, 0x8b, 0x50, 0xf4, 0x3a, 0xbe, 0x10, 0x59, 0x46, 0x8e, 0x0e, 0xab, 0xc5, + 0xdb, 0x1d, 0x1f, 0xd3, 0x32, 0xcd, 0x94, 0xaf, 0x38, 0xb0, 0x29, 0x5f, 0x5f, 0x87, 0x20, 0x54, + 0x85, 0xa1, 0xfb, 0xf7, 0xdd, 0x16, 0x37, 0xbb, 0x16, 0x7a, 0xff, 0xb7, 0xdf, 0x5e, 0xad, 0x45, + 0x98, 0x97, 0xdb, 0x5f, 0x2d, 0xc2, 0xec, 0x8a, 0x47, 0x1e, 0x7c, 0x40, 0xd3, 0xf3, 0x41, 0x0d, + 0x11, 0x4f, 0xc6, 0x2f, 0x9e, 0xd4, 0xea, 0xb2, 0xff, 0x78, 0x6c, 0xc1, 0x08, 0x7f, 0xcc, 0x96, + 0x86, 0xe8, 0xaf, 0x67, 0xb5, 0x9e, 0x3f, 0x20, 0x73, 0xfc, 0x51, 0x5c, 0x18, 0xa0, 0xab, 0x9b, + 0x56, 0x94, 0x62, 0x49, 0x7c, 0xf6, 0xd3, 0x30, 0xa6, 0x63, 0x9e, 0xc8, 0xfe, 0xf9, 0x2f, 0x17, + 0x61, 0x8a, 0xf6, 0xe0, 0x91, 0x4e, 0xc4, 0xdd, 0xee, 0x89, 0x38, 0x6d, 0x1b, 0xd8, 0xfe, 0xb3, + 0xf1, 0x4e, 0x7a, 0x36, 0x5e, 0xcc, 0x9b, 0x8d, 0xb3, 0x9e, 0x83, 0x1f, 0xb2, 0xe0, 0xdc, 0x8a, + 0x17, 0x34, 0x77, 0x53, 0xe6, 0xb9, 0xaf, 0xc0, 0x28, 0x3d, 0xc7, 0x23, 0xc3, 0xef, 0xc5, 0xf0, + 0x84, 0x12, 0x20, 0xac, 0xe3, 0x69, 0xd5, 0xee, 0xde, 0x5d, 0xad, 0x65, 0x39, 0x50, 0x09, 0x10, + 0xd6, 0xf1, 0xec, 0x6f, 0x5a, 0x70, 0xe9, 0xc6, 0xd2, 0x72, 0xb2, 0x14, 0xbb, 0x7c, 0xb8, 0xa8, + 0x14, 0xd8, 0xd2, 0xba, 0x92, 0x48, 0x81, 0x35, 0xd6, 0x0b, 0x01, 0xfd, 0xa8, 0xf8, 0x27, 0xfe, + 0x82, 0x05, 0xe7, 0x6e, 0xb8, 0x31, 0xbd, 0x96, 0xd3, 0xde, 0x44, 0xf4, 0x5e, 0x8e, 0xdc, 0x38, + 0x08, 0x0f, 0xd2, 0xde, 0x44, 0x58, 0x41, 0xb0, 0x86, 0xc5, 0x5b, 0xde, 0x77, 0x99, 0x19, 0x55, + 0xc1, 0x54, 0x45, 0x61, 0x51, 0x8e, 0x15, 0x06, 0xfd, 0xb0, 0x96, 0x1b, 0x32, 0x51, 0xe2, 0x40, + 0x9c, 0xb0, 0xea, 0xc3, 0x6a, 0x12, 0x80, 0x13, 0x1c, 0xfb, 0x67, 0x2c, 0xb8, 0x70, 0xc3, 0xeb, + 0x44, 0x31, 0x09, 0xb7, 0x22, 0xa3, 0xb3, 0x2f, 0x41, 0x85, 0x48, 0x71, 0x5d, 0xf4, 0x55, 0x31, + 0x98, 0x4a, 0x8e, 0xe7, 0xae, 0x4c, 0x0a, 0x6f, 0x00, 0x5b, 0xf7, 0x93, 0xd9, 0x68, 0xff, 0x72, + 0x01, 0xc6, 0x6f, 0x6e, 0x6c, 0xd4, 0x6f, 0x90, 0x58, 0xdc, 0x62, 0xfd, 0x55, 0xcd, 0x58, 0xd3, + 0x98, 0xf5, 0x12, 0x8a, 0x3a, 0xb1, 0xeb, 0xcd, 0x71, 0xdf, 0xd9, 0xb9, 0x55, 0x3f, 0xbe, 0x13, + 0x36, 0xe2, 0xd0, 0xf5, 0xb7, 0x33, 0x75, 0x6c, 0xf2, 0xae, 0x2d, 0xe6, 0xdd, 0xb5, 0xe8, 0x25, + 0x18, 0x66, 0xce, 0xbb, 0x52, 0x3c, 0x79, 0x42, 0xc9, 0x14, 0xac, 0xf4, 0xf8, 0xb0, 0x5a, 0xb9, + 0x8b, 0x57, 0xf9, 0x1f, 0x2c, 0x50, 0xd1, 0x5d, 0x18, 0xdd, 0x89, 0xe3, 0xf6, 0x4d, 0xe2, 0xb4, + 0x48, 0x28, 0x4f, 0x87, 0xcb, 0x59, 0xa7, 0x03, 0x1d, 0x04, 0x8e, 0x96, 0x6c, 0xa8, 0xa4, 0x2c, + 0xc2, 0x3a, 0x1d, 0xbb, 0x01, 0x90, 0xc0, 0x4e, 0x49, 0xbf, 0x60, 0xff, 0xa1, 0x05, 0x23, 0xdc, + 0x8f, 0x2a, 0x44, 0x9f, 0x81, 0x12, 0x79, 0x40, 0x9a, 0x82, 0x73, 0xcc, 0xec, 0x70, 0xc2, 0x78, + 0x70, 0x6d, 0x39, 0xfd, 0x8f, 0x59, 0x2d, 0x74, 0x13, 0x46, 0x68, 0x6f, 0x6f, 0x28, 0xa7, 0xb2, + 0xa7, 0xf2, 0xbe, 0x58, 0x4d, 0x3b, 0xe7, 0x55, 0x44, 0x11, 0x96, 0xd5, 0x99, 0xe6, 0xb7, 0xd9, + 0x6e, 0xd0, 0x03, 0x2c, 0xee, 0x75, 0xcf, 0x6e, 0x2c, 0xd5, 0x39, 0x92, 0xa0, 0xc6, 0x35, 0xbf, + 0xb2, 0x10, 0x27, 0x44, 0xec, 0x0d, 0xa8, 0xd0, 0x49, 0x5d, 0xf0, 0x5c, 0xa7, 0xb7, 0xd2, 0xf9, + 0x39, 0xa8, 0x48, 0x05, 0x70, 0x24, 0x5c, 0x71, 0x18, 0x55, 0xa9, 0x1f, 0x8e, 0x70, 0x02, 0xb7, + 0xb7, 0xe0, 0x3c, 0x7b, 0xf9, 0x77, 0xe2, 0x1d, 0x63, 0x8f, 0xf5, 0x5f, 0xcc, 0xcf, 0x0b, 0x41, + 0x8c, 0xcf, 0xcc, 0x8c, 0xe6, 0x3b, 0x30, 0x26, 0x29, 0x26, 0x42, 0x99, 0xfd, 0xc7, 0x25, 0x78, + 0x62, 0xb5, 0x91, 0xef, 0x62, 0xf7, 0x1a, 0x8c, 0x71, 0x36, 0x8d, 0x2e, 0x6d, 0xc7, 0x13, 0xed, + 0xaa, 0x77, 0xb1, 0x0d, 0x0d, 0x86, 0x0d, 0x4c, 0x74, 0x09, 0x8a, 0xee, 0x7b, 0x7e, 0xda, 0x0c, + 0x77, 0xf5, 0xad, 0x75, 0x4c, 0xcb, 0x29, 0x98, 0x72, 0x7c, 0xfc, 0x28, 0x55, 0x60, 0xc5, 0xf5, + 0xbd, 0x01, 0x13, 0x6e, 0xd4, 0x8c, 0xdc, 0x55, 0x9f, 0x9e, 0x33, 0x89, 0x7b, 0x66, 0xa2, 0x24, + 0xa0, 0x9d, 0x56, 0x50, 0x9c, 0xc2, 0xd6, 0xce, 0xf5, 0xa1, 0x81, 0xb9, 0xc6, 0xbe, 0xbe, 0x29, + 0x94, 0x21, 0x6e, 0xb3, 0xaf, 0x8b, 0x98, 0x51, 0x9b, 0x60, 0x88, 0xf9, 0x07, 0x47, 0x58, 0xc2, + 0xa8, 0x04, 0xd6, 0xdc, 0x71, 0xda, 0x0b, 0x9d, 0x78, 0xa7, 0xe6, 0x46, 0xcd, 0x60, 0x9f, 0x84, + 0x07, 0x4c, 0x78, 0x2e, 0x27, 0x12, 0x98, 0x02, 0x2c, 0xdd, 0x5c, 0xa8, 0x53, 0x4c, 0xdc, 0x5d, + 0xc7, 0xe4, 0x0a, 0xe1, 0x34, 0xb8, 0xc2, 0x05, 0x98, 0x94, 0xcd, 0x34, 0x48, 0xc4, 0xee, 0x88, + 0x51, 0xd6, 0x31, 0x65, 0x6a, 0x2b, 0x8a, 0x55, 0xb7, 0xd2, 0xf8, 0xe8, 0x55, 0x18, 0x77, 0x7d, + 0x37, 0x76, 0x9d, 0x38, 0x08, 0xd9, 0x0d, 0xcb, 0xe5, 0x64, 0x66, 0xc9, 0xb6, 0xaa, 0x03, 0xb0, + 0x89, 0x67, 0xff, 0x51, 0x09, 0xa6, 0xd9, 0xb4, 0x7d, 0x67, 0x85, 0x7d, 0x64, 0x56, 0xd8, 0xdd, + 0xee, 0x15, 0x76, 0x1a, 0xec, 0xee, 0x87, 0xb9, 0xcc, 0xde, 0x85, 0x8a, 0xb2, 0x05, 0x96, 0xce, + 0x00, 0x56, 0x8e, 0x33, 0x40, 0x7f, 0xee, 0x43, 0x3e, 0xe3, 0x16, 0x33, 0x9f, 0x71, 0xff, 0xae, + 0x05, 0x89, 0x49, 0x24, 0xba, 0x09, 0x95, 0x76, 0xc0, 0xcc, 0x0e, 0x42, 0x69, 0xcb, 0xf3, 0x44, + 0xe6, 0x45, 0xc5, 0x2f, 0x45, 0x3e, 0x7e, 0x75, 0x59, 0x03, 0x27, 0x95, 0xd1, 0x22, 0x8c, 0xb4, + 0x43, 0xd2, 0x88, 0x99, 0xd3, 0x66, 0x5f, 0x3a, 0x7c, 0x8d, 0x70, 0x7c, 0x2c, 0x2b, 0xda, 0xbf, + 0x62, 0x01, 0xf0, 0x97, 0x52, 0xc7, 0xdf, 0x26, 0x67, 0xa0, 0xfd, 0xad, 0x41, 0x29, 0x6a, 0x93, + 0x66, 0x2f, 0x83, 0x90, 0xa4, 0x3f, 0x8d, 0x36, 0x69, 0x26, 0x03, 0x4e, 0xff, 0x61, 0x56, 0xdb, + 0xfe, 0xab, 0x00, 0x13, 0x09, 0xda, 0x6a, 0x4c, 0xf6, 0xd0, 0x0b, 0x86, 0x4b, 0xdc, 0xc5, 0x94, + 0x4b, 0x5c, 0x85, 0x61, 0x6b, 0x8a, 0xc6, 0x77, 0xa1, 0xb8, 0xe7, 0x3c, 0x10, 0x9a, 0xa4, 0xe7, + 0x7a, 0x77, 0x83, 0xd2, 0x9f, 0x5b, 0x73, 0x1e, 0x70, 0x99, 0xe9, 0x39, 0xb9, 0x40, 0xd6, 0x9c, + 0x07, 0xc7, 0xdc, 0xec, 0x83, 0x1d, 0x52, 0xb7, 0xdd, 0x28, 0xfe, 0xca, 0x7f, 0x4d, 0xfe, 0xb3, + 0x65, 0x47, 0x1b, 0x61, 0x6d, 0xb9, 0xbe, 0x78, 0x37, 0x1c, 0xa8, 0x2d, 0xd7, 0x4f, 0xb7, 0xe5, + 0xfa, 0x03, 0xb4, 0xe5, 0xfa, 0xe8, 0x7d, 0x18, 0x11, 0x6f, 0xf4, 0xcc, 0xd6, 0xdb, 0xd4, 0x52, + 0xe5, 0xb5, 0x27, 0x9e, 0xf8, 0x79, 0x9b, 0xf3, 0x52, 0x26, 0x14, 0xa5, 0x7d, 0xdb, 0x95, 0x0d, + 0xa2, 0xbf, 0x6d, 0xc1, 0x84, 0xf8, 0x8d, 0xc9, 0x7b, 0x1d, 0x12, 0xc5, 0x82, 0xf7, 0xfc, 0xd4, + 0xe0, 0x7d, 0x10, 0x15, 0x79, 0x57, 0x3e, 0x25, 0x8f, 0x59, 0x13, 0xd8, 0xb7, 0x47, 0xa9, 0x5e, + 0xa0, 0x7f, 0x6a, 0xc1, 0xf9, 0x3d, 0xe7, 0x01, 0x6f, 0x91, 0x97, 0x61, 0x27, 0x76, 0x03, 0x61, + 0xbb, 0xfe, 0x99, 0xc1, 0xa6, 0xbf, 0xab, 0x3a, 0xef, 0xa4, 0x34, 0x73, 0x3d, 0x9f, 0x85, 0xd2, + 0xb7, 0xab, 0x99, 0xfd, 0x9a, 0xdd, 0x82, 0xb2, 0x5c, 0x6f, 0x19, 0x92, 0x77, 0x4d, 0x67, 0xac, + 0x4f, 0x6c, 0x22, 0xa1, 0xfb, 0xa5, 0xd1, 0x76, 0xc4, 0x5a, 0x7b, 0xa4, 0xed, 0xbc, 0x0b, 0x63, + 0xfa, 0x1a, 0x7b, 0xa4, 0x6d, 0xbd, 0x07, 0xe7, 0x32, 0xd6, 0xd2, 0x23, 0x6d, 0xf2, 0x3e, 0x5c, + 0xcc, 0x5d, 0x1f, 0x8f, 0xb2, 0x61, 0xfb, 0x97, 0x2d, 0xfd, 0x1c, 0x3c, 0x03, 0x15, 0xfc, 0x92, + 0xa9, 0x82, 0xbf, 0xdc, 0x7b, 0xe7, 0xe4, 0xe8, 0xe1, 0xdf, 0xd1, 0x3b, 0x4d, 0x4f, 0x75, 0xf4, + 0x26, 0x0c, 0x7b, 0xb4, 0x44, 0x1a, 0x87, 0xd8, 0xfd, 0x77, 0x64, 0xc2, 0x4b, 0xb1, 0xf2, 0x08, + 0x0b, 0x0a, 0xf6, 0xaf, 0x5b, 0x50, 0x3a, 0x83, 0x91, 0xc0, 0xe6, 0x48, 0xbc, 0x90, 0x4b, 0x5a, + 0x04, 0xe1, 0x9a, 0xc3, 0xce, 0xfd, 0x65, 0x19, 0x68, 0x2c, 0x67, 0x60, 0xbe, 0x1f, 0xce, 0xdd, + 0x0e, 0x9c, 0xd6, 0xa2, 0xe3, 0x39, 0x7e, 0x93, 0x84, 0xab, 0xfe, 0x76, 0x5f, 0x2b, 0x25, 0xdd, + 0xa6, 0xa8, 0xd0, 0xcf, 0xa6, 0xc8, 0xde, 0x01, 0xa4, 0x37, 0x20, 0xec, 0x38, 0x31, 0x8c, 0xb8, + 0xbc, 0x29, 0x31, 0xfc, 0xcf, 0x64, 0x73, 0x77, 0x5d, 0x3d, 0xd3, 0x2c, 0x14, 0x79, 0x01, 0x96, + 0x84, 0xec, 0xd7, 0x20, 0xd3, 0x77, 0xab, 0xbf, 0xda, 0xc0, 0x7e, 0x05, 0xa6, 0x59, 0xcd, 0x93, + 0x89, 0xb4, 0xf6, 0x8f, 0x58, 0x30, 0xb9, 0x9e, 0x8a, 0xa6, 0x70, 0x95, 0xbd, 0xf5, 0x65, 0xe8, + 0x7d, 0x1b, 0xac, 0x14, 0x0b, 0xe8, 0xa9, 0xeb, 0x97, 0xfe, 0xdc, 0x82, 0xc4, 0x55, 0xf2, 0x0c, + 0x98, 0xaa, 0x25, 0x83, 0xa9, 0xca, 0xd4, 0x7b, 0xa8, 0xee, 0xe4, 0xf1, 0x54, 0xe8, 0x96, 0x8a, + 0x0b, 0xd0, 0x43, 0xe5, 0x91, 0x90, 0xe1, 0x5e, 0xe4, 0x13, 0x66, 0xf0, 0x00, 0x19, 0x29, 0x80, + 0x99, 0x09, 0x29, 0xdc, 0x8f, 0x88, 0x99, 0x90, 0xea, 0x4f, 0xce, 0xee, 0xab, 0x6b, 0x5d, 0x66, + 0xa7, 0xd2, 0xf7, 0x30, 0xb3, 0x6f, 0xc7, 0x73, 0xdf, 0x27, 0x2a, 0x1c, 0x47, 0x55, 0x98, 0x71, + 0x8b, 0xd2, 0xe3, 0xc3, 0xea, 0xb8, 0xfa, 0xc7, 0x63, 0x36, 0x25, 0x55, 0xec, 0x9b, 0x30, 0x99, + 0x1a, 0x30, 0xf4, 0x0a, 0x0c, 0xb5, 0x77, 0x9c, 0x88, 0xa4, 0x4c, 0x23, 0x87, 0xea, 0xb4, 0xf0, + 0xf8, 0xb0, 0x3a, 0xa1, 0x2a, 0xb0, 0x12, 0xcc, 0xb1, 0xed, 0xff, 0x65, 0x41, 0x69, 0x3d, 0x68, + 0x9d, 0xc5, 0x62, 0x7a, 0xc3, 0x58, 0x4c, 0x4f, 0xe6, 0x45, 0xbc, 0xcb, 0x5d, 0x47, 0x2b, 0xa9, + 0x75, 0x74, 0x39, 0x97, 0x42, 0xef, 0x25, 0xb4, 0x07, 0xa3, 0x2c, 0x8e, 0x9e, 0x30, 0xd5, 0x7c, + 0xc9, 0xe0, 0xef, 0xab, 0x29, 0xfe, 0x7e, 0x52, 0x43, 0xd5, 0xb8, 0xfc, 0x67, 0x61, 0x44, 0x98, + 0x0b, 0xa6, 0x0d, 0xdc, 0x05, 0x2e, 0x96, 0x70, 0xfb, 0x67, 0x8b, 0x60, 0xc4, 0xed, 0x43, 0xbf, + 0x61, 0xc1, 0x5c, 0xc8, 0x3d, 0x06, 0x5b, 0xb5, 0x4e, 0xe8, 0xfa, 0xdb, 0x8d, 0xe6, 0x0e, 0x69, + 0x75, 0x3c, 0xd7, 0xdf, 0x5e, 0xdd, 0xf6, 0x03, 0x55, 0xbc, 0xfc, 0x80, 0x34, 0x3b, 0x4c, 0xe7, + 0xdf, 0x27, 0x48, 0xa0, 0x32, 0xc7, 0xb9, 0x7e, 0x74, 0x58, 0x9d, 0xc3, 0x27, 0xa2, 0x8d, 0x4f, + 0xd8, 0x17, 0xf4, 0x4d, 0x0b, 0xe6, 0x79, 0x38, 0xbb, 0xc1, 0xfb, 0xdf, 0x43, 0x1a, 0xaa, 0x4b, + 0x52, 0x09, 0x91, 0x0d, 0x12, 0xee, 0x2d, 0xbe, 0x2a, 0x06, 0x74, 0xbe, 0x7e, 0xb2, 0xb6, 0xf0, + 0x49, 0x3b, 0x67, 0xff, 0xdb, 0x22, 0x8c, 0x0b, 0x67, 0x75, 0x11, 0x05, 0xe5, 0x15, 0x63, 0x49, + 0x3c, 0x95, 0x5a, 0x12, 0xd3, 0x06, 0xf2, 0xe9, 0x04, 0x40, 0x89, 0x60, 0xda, 0x73, 0xa2, 0xf8, + 0x26, 0x71, 0xc2, 0x78, 0x93, 0x38, 0xdc, 0x4c, 0xa5, 0x78, 0x62, 0x93, 0x1a, 0xa5, 0x7e, 0xb9, + 0x9d, 0x26, 0x86, 0xbb, 0xe9, 0xa3, 0x7d, 0x40, 0xcc, 0xd6, 0x26, 0x74, 0xfc, 0x88, 0x7f, 0x8b, + 0x2b, 0xde, 0x03, 0x4e, 0xd6, 0xea, 0xac, 0x68, 0x15, 0xdd, 0xee, 0xa2, 0x86, 0x33, 0x5a, 0xd0, + 0x6c, 0xa8, 0x86, 0x06, 0xb5, 0xa1, 0x1a, 0xee, 0xe3, 0x45, 0xe2, 0xc3, 0x54, 0x57, 0xbc, 0x81, + 0x2f, 0x40, 0x45, 0xd9, 0xba, 0x89, 0x43, 0xa7, 0x77, 0xd8, 0x8e, 0x34, 0x05, 0xae, 0x22, 0x49, + 0xec, 0x2c, 0x13, 0x72, 0xf6, 0x3f, 0x2b, 0x18, 0x0d, 0xf2, 0x49, 0x5c, 0x87, 0xb2, 0x13, 0x45, + 0xee, 0xb6, 0x4f, 0x5a, 0x62, 0xc7, 0x7e, 0x3c, 0x6f, 0xc7, 0x1a, 0xcd, 0x30, 0x7b, 0xc3, 0x05, + 0x51, 0x13, 0x2b, 0x1a, 0xe8, 0x26, 0x37, 0x06, 0xda, 0x97, 0xfc, 0xfc, 0x60, 0xd4, 0x40, 0x9a, + 0x0b, 0xed, 0x13, 0x2c, 0xea, 0xa3, 0x2f, 0x72, 0x6b, 0xad, 0x5b, 0x7e, 0x70, 0xdf, 0xbf, 0x11, + 0x04, 0xd2, 0xc3, 0x6c, 0x30, 0x82, 0xd3, 0xd2, 0x46, 0x4b, 0x55, 0xc7, 0x26, 0xb5, 0xc1, 0x62, + 0xf2, 0xfc, 0x00, 0x9c, 0xa3, 0xa4, 0x4d, 0x3f, 0x91, 0x08, 0x11, 0x98, 0x14, 0x91, 0x10, 0x64, + 0x99, 0x18, 0xbb, 0x4c, 0x56, 0xdd, 0xac, 0x9d, 0x28, 0xf4, 0x6e, 0x99, 0x24, 0x70, 0x9a, 0xa6, + 0xfd, 0xf3, 0x16, 0x30, 0x0b, 0xf7, 0x33, 0x60, 0x19, 0x3e, 0x6b, 0xb2, 0x0c, 0x33, 0x79, 0x83, + 0x9c, 0xc3, 0x2d, 0xbc, 0xcc, 0x57, 0x56, 0x3d, 0x0c, 0x1e, 0x1c, 0x88, 0x97, 0xf2, 0x01, 0xb8, + 0xd4, 0xff, 0x6b, 0xf1, 0x43, 0x4c, 0x39, 0x9d, 0xa3, 0x1f, 0x84, 0x72, 0xd3, 0x69, 0x3b, 0x4d, + 0x1e, 0x64, 0x36, 0x57, 0x63, 0x63, 0x54, 0x9a, 0x5b, 0x12, 0x35, 0xb8, 0x06, 0x42, 0x46, 0xd4, + 0x28, 0xcb, 0xe2, 0xbe, 0x5a, 0x07, 0xd5, 0xe4, 0xec, 0x2e, 0x8c, 0x1b, 0xc4, 0x1e, 0xa9, 0xb8, + 0xfa, 0x83, 0xfc, 0x8a, 0x55, 0x11, 0x60, 0xf6, 0x60, 0xda, 0xd7, 0xfe, 0xd3, 0x0b, 0x45, 0x8a, + 0x20, 0x1f, 0xef, 0x77, 0x89, 0xb2, 0xdb, 0x47, 0xb3, 0xe0, 0x4f, 0x91, 0xc1, 0xdd, 0x94, 0xed, + 0xbf, 0x6f, 0xc1, 0xe3, 0x3a, 0xa2, 0x16, 0x0f, 0xa0, 0x9f, 0x0e, 0xb8, 0x06, 0xe5, 0xa0, 0x4d, + 0x42, 0x27, 0x0e, 0x42, 0x71, 0x6b, 0x5c, 0x93, 0x83, 0x7e, 0x47, 0x94, 0x1f, 0x8b, 0x68, 0x7f, + 0x92, 0xba, 0x2c, 0xc7, 0xaa, 0x26, 0xb2, 0x61, 0x98, 0x0d, 0x46, 0x24, 0x62, 0x35, 0xb0, 0x33, + 0x80, 0x3d, 0x87, 0x46, 0x58, 0x40, 0xec, 0x3f, 0xb6, 0xf8, 0xc2, 0xd2, 0xbb, 0x8e, 0xde, 0x83, + 0xa9, 0x3d, 0x27, 0x6e, 0xee, 0x2c, 0x3f, 0x68, 0x87, 0x5c, 0xf5, 0x2d, 0xc7, 0xe9, 0xb9, 0x7e, + 0xe3, 0xa4, 0x7d, 0x64, 0x62, 0x80, 0xb6, 0x96, 0x22, 0x86, 0xbb, 0xc8, 0xa3, 0x4d, 0x18, 0x65, + 0x65, 0xcc, 0xd2, 0x39, 0xea, 0xc5, 0x1a, 0xe4, 0xb5, 0xa6, 0x5e, 0x94, 0xd7, 0x12, 0x3a, 0x58, + 0x27, 0x6a, 0x7f, 0xa5, 0xc8, 0x77, 0x3b, 0xe3, 0xb6, 0x9f, 0x85, 0x91, 0x76, 0xd0, 0x5a, 0x5a, + 0xad, 0x61, 0x31, 0x0b, 0xea, 0x1a, 0xa9, 0xf3, 0x62, 0x2c, 0xe1, 0xe8, 0x75, 0x00, 0xf2, 0x20, + 0x26, 0xa1, 0xef, 0x78, 0xca, 0x20, 0x44, 0x99, 0x40, 0xd6, 0x82, 0xf5, 0x20, 0xbe, 0x1b, 0x91, + 0xef, 0x5f, 0x56, 0x28, 0x58, 0x43, 0x47, 0xd7, 0x01, 0xda, 0x61, 0xb0, 0xef, 0xb6, 0x98, 0xeb, + 0x5c, 0xd1, 0x34, 0x97, 0xa8, 0x2b, 0x08, 0xd6, 0xb0, 0xd0, 0xeb, 0x30, 0xde, 0xf1, 0x23, 0xce, + 0xa1, 0x38, 0x9b, 0x22, 0x56, 0x5e, 0x39, 0xb1, 0x5c, 0xb8, 0xab, 0x03, 0xb1, 0x89, 0x8b, 0x16, + 0x60, 0x38, 0x76, 0x98, 0xbd, 0xc3, 0x50, 0xbe, 0xdd, 0xe2, 0x06, 0xc5, 0xd0, 0x43, 0x9c, 0xd2, + 0x0a, 0x58, 0x54, 0x44, 0x5f, 0x90, 0x7e, 0x08, 0xfc, 0xac, 0x17, 0x06, 0xc3, 0x83, 0xdd, 0x0b, + 0x9a, 0x17, 0x82, 0x30, 0x44, 0x36, 0x68, 0xd9, 0xdf, 0xac, 0x00, 0x24, 0xec, 0x38, 0x7a, 0xbf, + 0xeb, 0x3c, 0x7a, 0xbe, 0x37, 0x03, 0x7f, 0x7a, 0x87, 0x11, 0xfa, 0x61, 0x0b, 0x46, 0x1d, 0xcf, + 0x0b, 0x9a, 0x4e, 0xcc, 0x46, 0xb9, 0xd0, 0xfb, 0x3c, 0x14, 0xed, 0x2f, 0x24, 0x35, 0x78, 0x17, + 0x5e, 0x92, 0x0b, 0x4f, 0x83, 0xf4, 0xed, 0x85, 0xde, 0x30, 0xfa, 0x2e, 0x29, 0xa5, 0xf1, 0xe5, + 0x31, 0x9b, 0x96, 0xd2, 0x2a, 0xec, 0xe8, 0xd7, 0x04, 0x34, 0x74, 0xd7, 0x08, 0x2a, 0x57, 0xca, + 0x8f, 0xaf, 0x60, 0x70, 0xa5, 0xfd, 0xe2, 0xc9, 0xa1, 0xba, 0xee, 0x38, 0x35, 0x94, 0x1f, 0x84, + 0x44, 0x13, 0x7f, 0xfa, 0x38, 0x4d, 0xbd, 0x0b, 0x93, 0x2d, 0xf3, 0x6e, 0x17, 0xab, 0xe9, 0x99, + 0x3c, 0xba, 0x29, 0x56, 0x20, 0xb9, 0xcd, 0x53, 0x00, 0x9c, 0x26, 0x8c, 0xea, 0xdc, 0x85, 0x6d, + 0xd5, 0xdf, 0x0a, 0x84, 0xe1, 0xb9, 0x9d, 0x3b, 0x97, 0x07, 0x51, 0x4c, 0xf6, 0x28, 0x66, 0x72, + 0x69, 0xaf, 0x8b, 0xba, 0x58, 0x51, 0x41, 0x6f, 0xc2, 0x30, 0xf3, 0x81, 0x8d, 0x66, 0xca, 0xf9, + 0x8a, 0x42, 0x33, 0x7c, 0x43, 0xb2, 0xa9, 0xd8, 0xdf, 0x08, 0x0b, 0x0a, 0xe8, 0xa6, 0x8c, 0xf1, + 0x12, 0xad, 0xfa, 0x77, 0x23, 0xc2, 0x62, 0xbc, 0x54, 0x16, 0x3f, 0x9e, 0x84, 0x6f, 0xe1, 0xe5, + 0x99, 0xc1, 0xcc, 0x8d, 0x9a, 0x94, 0x39, 0x12, 0xff, 0x65, 0x8c, 0xf4, 0x19, 0xc8, 0xef, 0x9e, + 0x19, 0x47, 0x3d, 0x19, 0xce, 0x7b, 0x26, 0x09, 0x9c, 0xa6, 0x49, 0x19, 0x4d, 0xbe, 0x73, 0x85, + 0xe9, 0x7a, 0xbf, 0xfd, 0xcf, 0xe5, 0x6b, 0x76, 0xc9, 0xf0, 0x12, 0x2c, 0xea, 0x9f, 0xe9, 0xad, + 0x3f, 0xeb, 0xc3, 0x54, 0x7a, 0x8b, 0x3e, 0x52, 0x2e, 0xe3, 0x0f, 0x4b, 0x30, 0x61, 0x2e, 0x29, + 0x34, 0x0f, 0x15, 0x41, 0x44, 0x45, 0x06, 0x55, 0xbb, 0x64, 0x4d, 0x02, 0x70, 0x82, 0xc3, 0x22, + 0xa3, 0xb2, 0xea, 0x9a, 0xc9, 0x61, 0x12, 0x19, 0x55, 0x41, 0xb0, 0x86, 0x45, 0xe5, 0xa5, 0xcd, + 0x20, 0x88, 0xd5, 0xa5, 0xa2, 0xd6, 0xdd, 0x22, 0x2b, 0xc5, 0x02, 0x4a, 0x2f, 0x93, 0x5d, 0x12, + 0xfa, 0xc4, 0x33, 0xe3, 0x98, 0xa9, 0xcb, 0xe4, 0x96, 0x0e, 0xc4, 0x26, 0x2e, 0xbd, 0x25, 0x83, + 0x88, 0x2d, 0x64, 0x21, 0x95, 0x25, 0x26, 0x9c, 0x0d, 0xee, 0x4d, 0x2e, 0xe1, 0xe8, 0xf3, 0xf0, + 0xb8, 0x72, 0xfe, 0xc6, 0x5c, 0x09, 0x2d, 0x5b, 0x1c, 0x36, 0x94, 0x28, 0x8f, 0x2f, 0x65, 0xa3, + 0xe1, 0xbc, 0xfa, 0xe8, 0x0d, 0x98, 0x10, 0x9c, 0xbb, 0xa4, 0x38, 0x62, 0xda, 0x45, 0xdc, 0x32, + 0xa0, 0x38, 0x85, 0x2d, 0x23, 0xb1, 0x31, 0xe6, 0x59, 0x52, 0x28, 0x77, 0x47, 0x62, 0xd3, 0xe1, + 0xb8, 0xab, 0x06, 0x5a, 0x80, 0x49, 0xce, 0x5a, 0xb9, 0xfe, 0x36, 0x9f, 0x13, 0xe1, 0x59, 0xa2, + 0xb6, 0xd4, 0x1d, 0x13, 0x8c, 0xd3, 0xf8, 0xe8, 0x35, 0x18, 0x73, 0xc2, 0xe6, 0x8e, 0x1b, 0x93, + 0x66, 0xdc, 0x09, 0xb9, 0xcb, 0x89, 0x66, 0x58, 0xb2, 0xa0, 0xc1, 0xb0, 0x81, 0x69, 0xbf, 0x0f, + 0xe7, 0x32, 0x9c, 0xd2, 0xe8, 0xc2, 0x71, 0xda, 0xae, 0xfc, 0xa6, 0x94, 0x31, 0xe6, 0x42, 0x7d, + 0x55, 0x7e, 0x8d, 0x86, 0x45, 0x57, 0x27, 0x73, 0x5e, 0xd3, 0x52, 0x22, 0xa8, 0xd5, 0xb9, 0x22, + 0x01, 0x38, 0xc1, 0xb1, 0xff, 0x77, 0x01, 0x26, 0x33, 0x14, 0xeb, 0x2c, 0x2c, 0x7f, 0x4a, 0xf6, + 0x48, 0xa2, 0xf0, 0x9b, 0x81, 0xfd, 0x0a, 0x27, 0x08, 0xec, 0x57, 0xec, 0x17, 0xd8, 0xaf, 0xf4, + 0x41, 0x02, 0xfb, 0x99, 0x23, 0x36, 0x34, 0xd0, 0x88, 0x65, 0x04, 0x03, 0x1c, 0x3e, 0x61, 0x30, + 0x40, 0x63, 0xd0, 0x47, 0x06, 0x18, 0xf4, 0x9f, 0x28, 0xc0, 0x54, 0xda, 0x00, 0xee, 0x0c, 0xd4, + 0xb1, 0x6f, 0x1a, 0xea, 0xd8, 0xec, 0x24, 0x17, 0x69, 0xb3, 0xbc, 0x3c, 0xd5, 0x2c, 0x4e, 0xa9, + 0x66, 0x3f, 0x39, 0x10, 0xb5, 0xde, 0x6a, 0xda, 0x7f, 0x50, 0x80, 0x0b, 0xe9, 0x2a, 0x4b, 0x9e, + 0xe3, 0xee, 0x9d, 0xc1, 0xd8, 0xdc, 0x31, 0xc6, 0xe6, 0x85, 0x41, 0xbe, 0x86, 0x75, 0x2d, 0x77, + 0x80, 0xde, 0x4e, 0x0d, 0xd0, 0xfc, 0xe0, 0x24, 0x7b, 0x8f, 0xd2, 0xb7, 0x8a, 0x70, 0x39, 0xb3, + 0x5e, 0xa2, 0xcd, 0x5c, 0x31, 0xb4, 0x99, 0xd7, 0x53, 0xda, 0x4c, 0xbb, 0x77, 0xed, 0xd3, 0x51, + 0x6f, 0x0a, 0x6f, 0x41, 0x16, 0xfc, 0xed, 0x21, 0x55, 0x9b, 0x86, 0xb7, 0xa0, 0x22, 0x84, 0x4d, + 0xba, 0xdf, 0x4e, 0x2a, 0xcd, 0xff, 0x60, 0xc1, 0xc5, 0xcc, 0xb9, 0x39, 0x03, 0x15, 0xd6, 0xba, + 0xa9, 0xc2, 0x7a, 0x76, 0xe0, 0xd5, 0x9a, 0xa3, 0xd3, 0xfa, 0xa3, 0x62, 0xce, 0xb7, 0x30, 0x01, + 0xfd, 0x0e, 0x8c, 0x3a, 0xcd, 0x26, 0x89, 0xa2, 0xb5, 0xa0, 0xa5, 0x82, 0xa1, 0xbd, 0xc0, 0xe4, + 0xac, 0xa4, 0xf8, 0xf8, 0xb0, 0x3a, 0x9b, 0x26, 0x91, 0x80, 0xb1, 0x4e, 0xc1, 0x8c, 0xdf, 0x58, + 0x38, 0xd5, 0xf8, 0x8d, 0xd7, 0x01, 0xf6, 0x15, 0xb7, 0x9e, 0x16, 0xf2, 0x35, 0x3e, 0x5e, 0xc3, + 0x42, 0x5f, 0x84, 0x72, 0x24, 0xae, 0x71, 0xb1, 0x14, 0x5f, 0x1a, 0x70, 0xae, 0x9c, 0x4d, 0xe2, + 0x99, 0x6e, 0xe9, 0x4a, 0x1f, 0xa2, 0x48, 0xa2, 0xef, 0x85, 0xa9, 0x88, 0x47, 0x3d, 0x59, 0xf2, + 0x9c, 0x88, 0xf9, 0x38, 0x88, 0x55, 0xc8, 0x7c, 0xcd, 0x1b, 0x29, 0x18, 0xee, 0xc2, 0x46, 0x2b, + 0xf2, 0xa3, 0x58, 0x88, 0x16, 0xbe, 0x30, 0xaf, 0x26, 0x1f, 0x24, 0x92, 0x02, 0x9d, 0x4f, 0x0f, + 0x3f, 0x1b, 0x78, 0xad, 0xa6, 0xfd, 0x13, 0x25, 0x78, 0xa2, 0xc7, 0x21, 0x86, 0x16, 0xcc, 0x37, + 0xca, 0xe7, 0xd2, 0xd2, 0xef, 0x6c, 0x66, 0x65, 0x43, 0x1c, 0x4e, 0xad, 0x95, 0xc2, 0x07, 0x5e, + 0x2b, 0x3f, 0x6a, 0x69, 0x7a, 0x09, 0x6e, 0x49, 0xf7, 0xd9, 0x13, 0x1e, 0xce, 0xa7, 0xa8, 0xa8, + 0xd8, 0xca, 0x90, 0xf6, 0xaf, 0x0f, 0xdc, 0x9d, 0x81, 0xc5, 0xff, 0xb3, 0xd5, 0xce, 0x7e, 0xc5, + 0x82, 0xa7, 0x32, 0xfb, 0x6b, 0xd8, 0x54, 0xcc, 0x43, 0xa5, 0x49, 0x0b, 0x35, 0xbf, 0xa9, 0xc4, + 0xa1, 0x54, 0x02, 0x70, 0x82, 0x63, 0x98, 0x4e, 0x14, 0xfa, 0x9a, 0x4e, 0xfc, 0x1b, 0x0b, 0xba, + 0x16, 0xf0, 0x19, 0x9c, 0xa4, 0xab, 0xe6, 0x49, 0xfa, 0xf1, 0x41, 0xe6, 0x32, 0xe7, 0x10, 0xfd, + 0xbd, 0x49, 0x78, 0x2c, 0xc7, 0x51, 0x62, 0x1f, 0xa6, 0xb7, 0x9b, 0xc4, 0xf4, 0x48, 0x13, 0x1f, + 0x93, 0xe9, 0xbc, 0xd7, 0xd3, 0x7d, 0x8d, 0x65, 0x73, 0x99, 0xee, 0x42, 0xc1, 0xdd, 0x4d, 0xa0, + 0xaf, 0x58, 0x70, 0xde, 0xb9, 0x1f, 0x75, 0xe5, 0xec, 0x13, 0x6b, 0xe6, 0xe5, 0x4c, 0x2d, 0x45, + 0x9f, 0x1c, 0x7f, 0x3c, 0xbd, 0x4d, 0x16, 0x16, 0xce, 0x6c, 0x0b, 0x61, 0x11, 0xbf, 0x92, 0xf2, + 0xdb, 0x3d, 0x7c, 0x26, 0xb3, 0x3c, 0x5a, 0xf8, 0x99, 0x2a, 0x21, 0x58, 0xd1, 0x41, 0xf7, 0xa0, + 0xb2, 0x2d, 0xdd, 0xcc, 0xc4, 0x99, 0x9d, 0x79, 0x09, 0x66, 0xfa, 0xa2, 0xf1, 0x77, 0x43, 0x05, + 0xc2, 0x09, 0x29, 0xf4, 0x06, 0x14, 0xfd, 0xad, 0xa8, 0x57, 0x5e, 0x98, 0x94, 0xa9, 0x11, 0xf7, + 0x47, 0x5e, 0x5f, 0x69, 0x60, 0x5a, 0x11, 0xdd, 0x84, 0x62, 0xb8, 0xd9, 0x12, 0x8a, 0xb5, 0x4c, + 0xbe, 0x14, 0x2f, 0xd6, 0xb2, 0x17, 0x09, 0xa7, 0x84, 0x17, 0x6b, 0x98, 0x92, 0x40, 0x75, 0x18, + 0x62, 0x3e, 0x05, 0x42, 0x7f, 0x96, 0xc9, 0x90, 0xf6, 0xf0, 0xcd, 0xe1, 0x4e, 0xcb, 0x0c, 0x01, + 0x73, 0x42, 0xe8, 0x4d, 0x18, 0x6e, 0xb2, 0xd4, 0x29, 0x22, 0x64, 0x72, 0x76, 0x34, 0x9b, 0xae, + 0xe4, 0x2a, 0x42, 0x8f, 0xc4, 0xca, 0xb1, 0xa0, 0x80, 0x36, 0x60, 0xb8, 0x49, 0xda, 0x3b, 0x5b, + 0x11, 0x13, 0xbc, 0x4d, 0x06, 0x3f, 0xa1, 0xd5, 0x23, 0x53, 0x90, 0xa0, 0xca, 0x30, 0xb0, 0xa0, + 0x85, 0x3e, 0x0d, 0x85, 0xad, 0xa6, 0x70, 0x34, 0xc8, 0xd4, 0xa0, 0x99, 0x8e, 0xe4, 0x8b, 0xc3, + 0x47, 0x87, 0xd5, 0xc2, 0xca, 0x12, 0x2e, 0x6c, 0x35, 0xd1, 0x3a, 0x8c, 0x6c, 0x71, 0xd7, 0x53, + 0xa1, 0x24, 0x7b, 0x26, 0xdb, 0x2b, 0xb6, 0xcb, 0x3b, 0x95, 0x1b, 0xc8, 0x0b, 0x00, 0x96, 0x44, + 0x58, 0xe8, 0x47, 0xe5, 0x42, 0x2b, 0x62, 0x20, 0xcf, 0x9d, 0xcc, 0xed, 0x99, 0x3b, 0xb5, 0x27, + 0x8e, 0xb8, 0x58, 0xa3, 0x88, 0xbe, 0x0c, 0x15, 0x47, 0xe6, 0x88, 0x13, 0x31, 0x22, 0x5e, 0xca, + 0xdc, 0x8e, 0xbd, 0xd3, 0xe7, 0xf1, 0xb5, 0xac, 0x90, 0x70, 0x42, 0x14, 0xed, 0xc2, 0xf8, 0x7e, + 0xd4, 0xde, 0x21, 0x72, 0xfb, 0xb2, 0x90, 0x11, 0x39, 0xd7, 0xd5, 0x3d, 0x81, 0xe8, 0x86, 0x71, + 0xc7, 0xf1, 0xba, 0x4e, 0x1c, 0xf6, 0xc4, 0x7c, 0x4f, 0x27, 0x86, 0x4d, 0xda, 0x74, 0xf8, 0xdf, + 0xeb, 0x04, 0x9b, 0x07, 0x31, 0x11, 0x41, 0x93, 0x33, 0x87, 0xff, 0x2d, 0x8e, 0xd2, 0x3d, 0xfc, + 0x02, 0x80, 0x25, 0x11, 0xba, 0xc1, 0x1d, 0x99, 0x7f, 0x91, 0x05, 0x4b, 0xce, 0xd9, 0xe0, 0x99, + 0x49, 0x1a, 0xb5, 0x41, 0x61, 0x27, 0x63, 0x42, 0x8a, 0x9d, 0x88, 0xed, 0x9d, 0x20, 0x0e, 0xfc, + 0xd4, 0x69, 0x3c, 0x9d, 0x7f, 0x22, 0xd6, 0x33, 0xf0, 0xbb, 0x4f, 0xc4, 0x2c, 0x2c, 0x9c, 0xd9, + 0x16, 0x6a, 0xc1, 0x44, 0x3b, 0x08, 0xe3, 0xfb, 0x41, 0x28, 0xd7, 0x17, 0xea, 0x21, 0xe4, 0x1b, + 0x98, 0xa2, 0x45, 0x16, 0xc4, 0xdb, 0x84, 0xe0, 0x14, 0x4d, 0xf4, 0x39, 0x18, 0x89, 0x9a, 0x8e, + 0x47, 0x56, 0xef, 0xcc, 0x9c, 0xcb, 0xbf, 0x6a, 0x1a, 0x1c, 0x25, 0x67, 0x75, 0xb1, 0xc9, 0x11, + 0x28, 0x58, 0x92, 0x43, 0x2b, 0x30, 0xc4, 0x22, 0xf1, 0xb3, 0x78, 0xcf, 0x39, 0xb1, 0x88, 0xba, + 0x4c, 0x39, 0xf9, 0x89, 0xc4, 0x8a, 0x31, 0xaf, 0x4e, 0xf7, 0x80, 0xe0, 0x75, 0x83, 0x68, 0xe6, + 0x42, 0xfe, 0x1e, 0x10, 0x2c, 0xf2, 0x9d, 0x46, 0xaf, 0x3d, 0xa0, 0x90, 0x70, 0x42, 0x94, 0x9e, + 0xc7, 0xf4, 0x0c, 0x7d, 0xac, 0x87, 0x75, 0x49, 0xee, 0x09, 0xca, 0xce, 0x63, 0x7a, 0x7e, 0x52, + 0x12, 0xf6, 0xef, 0x8f, 0x74, 0xf3, 0x27, 0x4c, 0x3a, 0xfa, 0x2b, 0x56, 0xd7, 0xc3, 0xd9, 0xa7, + 0x06, 0x55, 0xd6, 0x9c, 0x22, 0x67, 0xfa, 0x15, 0x0b, 0x1e, 0x6b, 0x67, 0x7e, 0x88, 0xb8, 0xec, + 0x07, 0xd3, 0xf9, 0xf0, 0x4f, 0x57, 0x31, 0xd9, 0xb3, 0xe1, 0x38, 0xa7, 0xa5, 0x34, 0xf7, 0x5f, + 0xfc, 0xc0, 0xdc, 0xff, 0x1a, 0x94, 0x19, 0x43, 0x99, 0x04, 0xbe, 0x1a, 0x28, 0x90, 0x0e, 0x63, + 0x1b, 0x96, 0x44, 0x45, 0xac, 0x48, 0xa0, 0x1f, 0xb3, 0xe0, 0x52, 0xba, 0xeb, 0x98, 0x30, 0xb0, + 0x88, 0x60, 0xce, 0x05, 0xb3, 0x15, 0xf1, 0xfd, 0x97, 0xea, 0xbd, 0x90, 0x8f, 0xfb, 0x21, 0xe0, + 0xde, 0x8d, 0xa1, 0x5a, 0x86, 0x64, 0x38, 0x6c, 0x6a, 0xc3, 0x07, 0x90, 0x0e, 0x5f, 0x86, 0xb1, + 0xbd, 0xa0, 0xe3, 0xc7, 0xc2, 0x18, 0x45, 0xb8, 0x06, 0xb2, 0xd7, 0xdf, 0x35, 0xad, 0x1c, 0x1b, + 0x58, 0x29, 0x99, 0xb2, 0xfc, 0xb0, 0x32, 0x25, 0x7a, 0x27, 0x95, 0x2f, 0xb9, 0x92, 0xcf, 0x5b, + 0x08, 0xf1, 0xfb, 0x04, 0x59, 0x93, 0xcf, 0x56, 0x0e, 0xfa, 0x9a, 0x95, 0xc1, 0xc0, 0x73, 0xc9, + 0xf8, 0x33, 0xa6, 0x64, 0x7c, 0x35, 0x2d, 0x19, 0x77, 0x69, 0x42, 0x0d, 0xa1, 0x78, 0xf0, 0x70, + 0xcb, 0x83, 0xc6, 0x2f, 0xb3, 0x3d, 0xb8, 0xd2, 0xef, 0x5a, 0x62, 0x56, 0x49, 0x2d, 0xf5, 0xee, + 0x95, 0x58, 0x25, 0xb5, 0x56, 0x6b, 0x98, 0x41, 0x06, 0x0d, 0x70, 0x61, 0xff, 0x0f, 0x0b, 0x8a, + 0xf5, 0xa0, 0x75, 0x06, 0x9a, 0xdd, 0xcf, 0x1a, 0x9a, 0xdd, 0x27, 0x72, 0xf2, 0x58, 0xe7, 0xea, + 0x71, 0x97, 0x53, 0x7a, 0xdc, 0x4b, 0x79, 0x04, 0x7a, 0x6b, 0x6d, 0x7f, 0xae, 0x08, 0x7a, 0xd6, + 0x6d, 0xf4, 0xef, 0x1e, 0xc6, 0x24, 0xb8, 0xd8, 0x2b, 0x11, 0xb7, 0xa0, 0xcc, 0x8c, 0x99, 0xa4, + 0xb7, 0xdb, 0x5f, 0x30, 0xcb, 0xe0, 0xb7, 0x89, 0xbb, 0xbd, 0x13, 0x93, 0x56, 0xfa, 0x73, 0xce, + 0xce, 0x32, 0xf8, 0xbf, 0x59, 0x30, 0x99, 0x6a, 0x1d, 0x79, 0x30, 0xee, 0xe9, 0x6a, 0x39, 0xb1, + 0x4e, 0x1f, 0x4a, 0xa3, 0x27, 0x2c, 0x2b, 0xb5, 0x22, 0x6c, 0x12, 0x47, 0x73, 0x00, 0xea, 0xd9, + 0x4c, 0x6a, 0xbb, 0x18, 0xd7, 0xaf, 0xde, 0xd5, 0x22, 0xac, 0x61, 0xa0, 0x57, 0x60, 0x34, 0x0e, + 0xda, 0x81, 0x17, 0x6c, 0x1f, 0xdc, 0x22, 0x32, 0xa4, 0x8a, 0xb2, 0x97, 0xda, 0x48, 0x40, 0x58, + 0xc7, 0xb3, 0x7f, 0xa1, 0x08, 0xe9, 0x4c, 0xed, 0xdf, 0x59, 0x93, 0x1f, 0xcd, 0x35, 0xf9, 0x2d, + 0x0b, 0xa6, 0x68, 0xeb, 0xcc, 0x76, 0x43, 0x5e, 0xb6, 0x2a, 0xed, 0x8b, 0xd5, 0x23, 0xed, 0xcb, + 0x55, 0x7a, 0x76, 0xb5, 0x82, 0x4e, 0x2c, 0xb4, 0x65, 0xda, 0xe1, 0x44, 0x4b, 0xb1, 0x80, 0x0a, + 0x3c, 0x12, 0x86, 0xc2, 0x21, 0x49, 0xc7, 0x23, 0x61, 0x88, 0x05, 0x54, 0x66, 0x85, 0x29, 0xe5, + 0x64, 0x85, 0x61, 0x01, 0xe2, 0xc4, 0x2b, 0xbf, 0x60, 0x7b, 0xb4, 0x00, 0x71, 0xf2, 0xf9, 0x3f, + 0xc1, 0xb1, 0x7f, 0xb9, 0x08, 0x63, 0xf5, 0xa0, 0x95, 0x3c, 0x5c, 0xbd, 0x6c, 0x3c, 0x5c, 0x5d, + 0x49, 0x3d, 0x5c, 0x4d, 0xe9, 0xb8, 0xdf, 0x79, 0xa6, 0xfa, 0xb0, 0x9e, 0xa9, 0xfe, 0xb5, 0xc5, + 0x66, 0xad, 0xb6, 0xde, 0x10, 0x59, 0x69, 0x5f, 0x84, 0x51, 0x76, 0x20, 0x31, 0x0f, 0x38, 0xf9, + 0x9a, 0xc3, 0x02, 0xbe, 0xaf, 0x27, 0xc5, 0x58, 0xc7, 0x41, 0xd7, 0xa0, 0x1c, 0x11, 0x27, 0x6c, + 0xee, 0xa8, 0x33, 0x4e, 0xbc, 0x75, 0xf0, 0x32, 0xac, 0xa0, 0xe8, 0xad, 0x24, 0x36, 0x59, 0x31, + 0x3f, 0xbf, 0xaa, 0xde, 0x1f, 0xbe, 0x45, 0xf2, 0x03, 0x92, 0xd9, 0x6f, 0x03, 0xea, 0xc6, 0x1f, + 0x20, 0x0a, 0x51, 0xd5, 0x8c, 0x42, 0x54, 0xe9, 0x8a, 0x40, 0xf4, 0x67, 0x16, 0x4c, 0xd4, 0x83, + 0x16, 0xdd, 0xba, 0xdf, 0x4e, 0xfb, 0x54, 0x0f, 0xcc, 0x38, 0xdc, 0x23, 0x30, 0xe3, 0x3f, 0xb4, + 0x60, 0xa4, 0x1e, 0xb4, 0xce, 0x40, 0xc7, 0xfe, 0x19, 0x53, 0xc7, 0xfe, 0x78, 0xce, 0x92, 0xc8, + 0x51, 0xab, 0xff, 0x6a, 0x11, 0xc6, 0x69, 0x3f, 0x83, 0x6d, 0x39, 0x4b, 0xc6, 0x88, 0x58, 0x03, + 0x8c, 0x08, 0x65, 0x73, 0x03, 0xcf, 0x0b, 0xee, 0xa7, 0x67, 0x6c, 0x85, 0x95, 0x62, 0x01, 0x45, + 0xcf, 0x43, 0xb9, 0x1d, 0x92, 0x7d, 0x37, 0x10, 0xfc, 0xa3, 0xf6, 0x62, 0x51, 0x17, 0xe5, 0x58, + 0x61, 0x50, 0xb9, 0x2b, 0x72, 0xfd, 0x26, 0x91, 0xc9, 0x9d, 0x4b, 0x2c, 0xff, 0x13, 0x8f, 0xb8, + 0xac, 0x95, 0x63, 0x03, 0x0b, 0xbd, 0x0d, 0x15, 0xf6, 0x9f, 0x9d, 0x28, 0x27, 0xcf, 0x57, 0x23, + 0xd2, 0x1c, 0x08, 0x02, 0x38, 0xa1, 0x85, 0xae, 0x03, 0xc4, 0x32, 0x2a, 0x6f, 0x24, 0x82, 0xc9, + 0x28, 0x5e, 0x5b, 0xc5, 0xeb, 0x8d, 0xb0, 0x86, 0x85, 0x9e, 0x83, 0x4a, 0xec, 0xb8, 0xde, 0x6d, + 0xd7, 0x27, 0x11, 0x53, 0x34, 0x17, 0x65, 0x16, 0x03, 0x51, 0x88, 0x13, 0x38, 0xe5, 0x75, 0x98, + 0xa7, 0x35, 0xcf, 0x76, 0x55, 0x66, 0xd8, 0x8c, 0xd7, 0xb9, 0xad, 0x4a, 0xb1, 0x86, 0x61, 0xbf, + 0x06, 0x17, 0xea, 0x41, 0xab, 0x1e, 0x84, 0xf1, 0x4a, 0x10, 0xde, 0x77, 0xc2, 0x96, 0x9c, 0xbf, + 0xaa, 0x0c, 0xa8, 0x4f, 0xcf, 0x9e, 0x21, 0xbe, 0x33, 0x8d, 0x50, 0xf9, 0x2f, 0x31, 0x6e, 0xe7, + 0x84, 0x1e, 0x16, 0xff, 0xa7, 0xc0, 0x0e, 0x8a, 0x54, 0x0a, 0x36, 0xf4, 0x25, 0x98, 0x88, 0xc8, + 0x6d, 0xd7, 0xef, 0x3c, 0x90, 0xf2, 0x71, 0x0f, 0xf7, 0x95, 0xc6, 0xb2, 0x8e, 0xc9, 0xb5, 0x6c, + 0x66, 0x19, 0x4e, 0x51, 0xa3, 0x43, 0x18, 0x76, 0xfc, 0x85, 0xe8, 0x6e, 0x44, 0x42, 0x91, 0x02, + 0x8c, 0x0d, 0x21, 0x96, 0x85, 0x38, 0x81, 0xd3, 0x25, 0xc3, 0xfe, 0xac, 0x07, 0x3e, 0x0e, 0x82, + 0x58, 0x2e, 0x32, 0x96, 0x44, 0x46, 0x2b, 0xc7, 0x06, 0x16, 0x5a, 0x01, 0x14, 0x75, 0xda, 0x6d, + 0x8f, 0x3d, 0x80, 0x3b, 0xde, 0x8d, 0x30, 0xe8, 0xb4, 0xf9, 0xe3, 0x63, 0x91, 0xe5, 0xeb, 0x47, + 0x8d, 0x2e, 0x28, 0xce, 0xa8, 0x41, 0x0f, 0x86, 0xad, 0x88, 0xfd, 0x66, 0x0b, 0xaf, 0x28, 0x34, + 0xdf, 0x0d, 0x56, 0x84, 0x25, 0x8c, 0xce, 0x33, 0x6b, 0x9e, 0x63, 0x0e, 0x27, 0xf3, 0x8c, 0x55, + 0x29, 0xd6, 0x30, 0xec, 0x1f, 0x64, 0x17, 0x0c, 0xcb, 0xf4, 0x14, 0x77, 0x42, 0x82, 0xf6, 0x60, + 0xbc, 0xcd, 0xae, 0x7e, 0x11, 0x87, 0x58, 0x0c, 0xf8, 0xcb, 0x03, 0x4a, 0x8a, 0xf7, 0xe9, 0xe6, + 0x55, 0x9a, 0x1c, 0xc6, 0x82, 0xd7, 0x75, 0x72, 0xd8, 0xa4, 0x6e, 0xff, 0xdc, 0x14, 0x3b, 0xc7, + 0x1a, 0x5c, 0xfc, 0x1b, 0x11, 0xb6, 0xb3, 0x82, 0xd7, 0x9d, 0xcd, 0xd7, 0x43, 0x24, 0x57, 0x8e, + 0xb0, 0xbf, 0xc5, 0xb2, 0x2e, 0x7a, 0x8b, 0xbd, 0xf2, 0xf2, 0xc3, 0xa3, 0x5f, 0xc2, 0x5d, 0x8e, + 0x65, 0x3c, 0xe8, 0x8a, 0x8a, 0x58, 0x23, 0x82, 0x6e, 0xc3, 0xb8, 0x48, 0x0c, 0x24, 0x14, 0x4d, + 0x45, 0x43, 0x91, 0x30, 0x8e, 0x75, 0xe0, 0x71, 0xba, 0x00, 0x9b, 0x95, 0xd1, 0x36, 0x5c, 0xd2, + 0xb2, 0xe4, 0xdd, 0x08, 0x1d, 0xf6, 0xf2, 0xe7, 0xb2, 0xd5, 0xaf, 0x9d, 0x45, 0x4f, 0x1d, 0x1d, + 0x56, 0x2f, 0x6d, 0xf4, 0x42, 0xc4, 0xbd, 0xe9, 0xa0, 0x3b, 0x70, 0x81, 0xbb, 0xa8, 0xd5, 0x88, + 0xd3, 0xf2, 0x5c, 0x5f, 0x1d, 0x76, 0x7c, 0x01, 0x5d, 0x3c, 0x3a, 0xac, 0x5e, 0x58, 0xc8, 0x42, + 0xc0, 0xd9, 0xf5, 0xd0, 0x67, 0xa0, 0xd2, 0xf2, 0x23, 0x31, 0x06, 0xc3, 0x46, 0x02, 0xc8, 0x4a, + 0x6d, 0xbd, 0xa1, 0xbe, 0x3f, 0xf9, 0x83, 0x93, 0x0a, 0x68, 0x9b, 0x2b, 0x9b, 0x94, 0x6c, 0x37, + 0x92, 0x9f, 0xec, 0x5b, 0x2c, 0x09, 0xc3, 0x49, 0x85, 0x6b, 0x59, 0x95, 0x91, 0xa7, 0xe1, 0xbf, + 0x62, 0x10, 0x46, 0x6f, 0x02, 0xa2, 0xcc, 0x8f, 0xdb, 0x24, 0x0b, 0x4d, 0x16, 0x0e, 0x9a, 0xe9, + 0xe6, 0xca, 0x86, 0x53, 0x00, 0x6a, 0x74, 0x61, 0xe0, 0x8c, 0x5a, 0xe8, 0x26, 0x3d, 0x81, 0xf4, + 0x52, 0x61, 0xac, 0x2a, 0x19, 0xe6, 0x99, 0x1a, 0x69, 0x87, 0xa4, 0xe9, 0xc4, 0xa4, 0x65, 0x52, + 0xc4, 0xa9, 0x7a, 0xf4, 0x7e, 0x52, 0x99, 0x61, 0xc0, 0x8c, 0xf9, 0xd0, 0x9d, 0x1d, 0x86, 0xca, + 0x9a, 0x3b, 0x41, 0x14, 0xaf, 0x93, 0xf8, 0x7e, 0x10, 0xee, 0x8a, 0x10, 0x5b, 0x49, 0xb4, 0xc7, + 0x04, 0x84, 0x75, 0x3c, 0xca, 0x5b, 0xb2, 0x67, 0xd6, 0xd5, 0x1a, 0x7b, 0xf5, 0x2a, 0x27, 0xfb, + 0xe4, 0x26, 0x2f, 0xc6, 0x12, 0x2e, 0x51, 0x57, 0xeb, 0x4b, 0xec, 0x05, 0x2b, 0x85, 0xba, 0x5a, + 0x5f, 0xc2, 0x12, 0x8e, 0x48, 0x77, 0x72, 0xcd, 0x89, 0x7c, 0x4d, 0x61, 0xf7, 0x39, 0x3e, 0x60, + 0x7e, 0x4d, 0x1f, 0xa6, 0x54, 0x5a, 0x4f, 0x1e, 0x7b, 0x2c, 0x9a, 0x99, 0x64, 0x8b, 0x64, 0xf0, + 0xc0, 0x65, 0x4a, 0xf7, 0xba, 0x9a, 0xa2, 0x84, 0xbb, 0x68, 0x1b, 0x51, 0x38, 0xa6, 0xfa, 0x66, + 0xf6, 0x99, 0x87, 0x4a, 0xd4, 0xd9, 0x6c, 0x05, 0x7b, 0x8e, 0xeb, 0xb3, 0x07, 0x27, 0x8d, 0x71, + 0x69, 0x48, 0x00, 0x4e, 0x70, 0xd0, 0x0a, 0x94, 0x1d, 0xa9, 0x58, 0x45, 0xf9, 0x6e, 0xf9, 0x4a, + 0x9d, 0xca, 0x3d, 0x55, 0xa5, 0x2a, 0x55, 0xd5, 0x45, 0xaf, 0xc3, 0xb8, 0x70, 0x4c, 0xe2, 0xc1, + 0x0a, 0xd8, 0x83, 0x90, 0x66, 0x79, 0xde, 0xd0, 0x81, 0xd8, 0xc4, 0x45, 0x5f, 0x84, 0x09, 0x4a, + 0x25, 0x39, 0xd8, 0x66, 0xce, 0x0f, 0x72, 0x22, 0x6a, 0x19, 0x1b, 0xf4, 0xca, 0x38, 0x45, 0x0c, + 0xb5, 0xe0, 0x49, 0xa7, 0x13, 0x07, 0x4c, 0x39, 0x6d, 0xae, 0xff, 0x8d, 0x60, 0x97, 0xf8, 0xec, + 0x5d, 0xa8, 0xbc, 0x78, 0xe5, 0xe8, 0xb0, 0xfa, 0xe4, 0x42, 0x0f, 0x3c, 0xdc, 0x93, 0x0a, 0xba, + 0x0b, 0xa3, 0x71, 0xe0, 0x31, 0x1b, 0x70, 0xca, 0x03, 0x3c, 0x96, 0x1f, 0xc5, 0x66, 0x43, 0xa1, + 0xe9, 0x8a, 0x19, 0x55, 0x15, 0xeb, 0x74, 0xd0, 0x06, 0xdf, 0x63, 0x2c, 0xbe, 0x27, 0x89, 0x66, + 0x1e, 0xcf, 0x1f, 0x18, 0x15, 0x06, 0xd4, 0xdc, 0x82, 0xa2, 0x26, 0xd6, 0xc9, 0xa0, 0x1b, 0x30, + 0xdd, 0x0e, 0xdd, 0x80, 0x2d, 0x6c, 0xf5, 0x30, 0x30, 0x63, 0x06, 0xe9, 0xaf, 0xa7, 0x11, 0x70, + 0x77, 0x1d, 0x2a, 0xb8, 0xc9, 0xc2, 0x99, 0x8b, 0x3c, 0xe3, 0x13, 0x67, 0x66, 0x79, 0x19, 0x56, + 0x50, 0xb4, 0xc6, 0xce, 0x65, 0x2e, 0x62, 0xcd, 0xcc, 0xe6, 0x87, 0x33, 0xd0, 0x45, 0x31, 0xce, + 0xe8, 0xa8, 0xbf, 0x38, 0xa1, 0x40, 0xef, 0x8d, 0x68, 0xc7, 0x09, 0x49, 0x3d, 0x0c, 0x9a, 0x84, + 0x77, 0x86, 0x9b, 0x9f, 0x3f, 0xc1, 0xc3, 0x10, 0xd2, 0x7b, 0xa3, 0x91, 0x85, 0x80, 0xb3, 0xeb, + 0xcd, 0x7e, 0x0f, 0x4c, 0x77, 0x9d, 0xe4, 0x27, 0x8a, 0x4d, 0xfd, 0xa7, 0x43, 0x50, 0x51, 0x8a, + 0x5f, 0x34, 0x6f, 0xea, 0xf3, 0x2f, 0xa6, 0xf5, 0xf9, 0x65, 0xca, 0x7f, 0xea, 0x2a, 0xfc, 0x0d, + 0xc3, 0xf0, 0xab, 0x90, 0x9f, 0x09, 0x4a, 0xd7, 0x7a, 0xf4, 0xf5, 0xf2, 0xd2, 0xe4, 0xf8, 0xe2, + 0xc0, 0x0f, 0x03, 0xa5, 0x9e, 0xaa, 0x81, 0x01, 0x13, 0xb1, 0x52, 0x51, 0xb7, 0x1d, 0xb4, 0x56, + 0xeb, 0xe9, 0xcc, 0x84, 0x75, 0x5a, 0x88, 0x39, 0x8c, 0x09, 0x2b, 0x94, 0xed, 0x60, 0xc2, 0xca, + 0xc8, 0x43, 0x0a, 0x2b, 0x92, 0x00, 0x4e, 0x68, 0x21, 0x0f, 0xa6, 0x9b, 0x66, 0x52, 0x49, 0xe5, + 0xd9, 0xf5, 0x74, 0xdf, 0xf4, 0x8e, 0x1d, 0x2d, 0x83, 0xd7, 0x52, 0x9a, 0x0a, 0xee, 0x26, 0x8c, + 0x5e, 0x87, 0xf2, 0x7b, 0x41, 0xc4, 0xb6, 0x85, 0xb8, 0x7b, 0xa5, 0x07, 0x4c, 0xf9, 0xad, 0x3b, + 0x0d, 0x56, 0x7e, 0x7c, 0x58, 0x1d, 0xad, 0x07, 0x2d, 0xf9, 0x17, 0xab, 0x0a, 0xe8, 0x01, 0x5c, + 0x30, 0x4e, 0x2c, 0xd5, 0x5d, 0x18, 0xbc, 0xbb, 0x97, 0x44, 0x73, 0x17, 0x56, 0xb3, 0x28, 0xe1, + 0xec, 0x06, 0xe8, 0x31, 0xe0, 0x07, 0x22, 0x21, 0xab, 0xbc, 0xdf, 0xd9, 0x35, 0x5e, 0xd1, 0xfd, + 0x9f, 0x53, 0x08, 0xb8, 0xbb, 0x8e, 0xfd, 0x75, 0xae, 0x27, 0x17, 0xda, 0x34, 0x12, 0x75, 0xbc, + 0xb3, 0xc8, 0xf7, 0xb3, 0x6c, 0x28, 0xfa, 0x1e, 0xfa, 0x2d, 0xe6, 0xb7, 0x2c, 0xf6, 0x16, 0xb3, + 0x41, 0xf6, 0xda, 0x9e, 0x13, 0x9f, 0x85, 0xe7, 0xc5, 0x5b, 0x50, 0x8e, 0x45, 0x6b, 0xbd, 0x52, + 0x14, 0x69, 0x9d, 0x62, 0xef, 0x51, 0xea, 0xe6, 0x97, 0xa5, 0x58, 0x91, 0xb1, 0xff, 0x05, 0x9f, + 0x01, 0x09, 0x39, 0x03, 0xa5, 0x4b, 0xcd, 0x54, 0xba, 0x54, 0xfb, 0x7c, 0x41, 0x8e, 0xf2, 0xe5, + 0x9f, 0x9b, 0xfd, 0x66, 0x42, 0xd6, 0x47, 0xfd, 0x11, 0xd0, 0xfe, 0x29, 0x0b, 0xce, 0x67, 0x59, + 0xcd, 0x50, 0x6e, 0x8d, 0x8b, 0x78, 0xea, 0x51, 0x54, 0x8d, 0xe0, 0x3d, 0x51, 0x8e, 0x15, 0xc6, + 0xc0, 0xd1, 0xff, 0x4f, 0x16, 0x22, 0xec, 0x0e, 0x8c, 0xd7, 0x43, 0xa2, 0xdd, 0x01, 0x6f, 0x70, + 0x57, 0x2a, 0xde, 0x9f, 0xe7, 0x4f, 0xec, 0x46, 0x65, 0xff, 0x62, 0x01, 0xce, 0xf3, 0x57, 0x8d, + 0x85, 0xfd, 0xc0, 0x6d, 0xd5, 0x83, 0x96, 0xc8, 0xdc, 0xf0, 0x05, 0x18, 0x6b, 0x6b, 0x72, 0x79, + 0xaf, 0x20, 0x45, 0xba, 0xfc, 0x9e, 0xc8, 0x47, 0x7a, 0x29, 0x36, 0x68, 0xa1, 0x16, 0x8c, 0x91, + 0x7d, 0xb7, 0xa9, 0x54, 0xe3, 0x85, 0x13, 0xdf, 0x0d, 0xaa, 0x95, 0x65, 0x8d, 0x0e, 0x36, 0xa8, + 0x3e, 0x82, 0x64, 0x5e, 0xf6, 0x4f, 0x5b, 0xf0, 0x78, 0x4e, 0x48, 0x23, 0xda, 0xdc, 0x7d, 0xf6, + 0x7e, 0x24, 0xf2, 0x02, 0xa9, 0xe6, 0xf8, 0xab, 0x12, 0x16, 0x50, 0xf4, 0x39, 0x00, 0xfe, 0x2a, + 0x44, 0xc5, 0x85, 0x7e, 0xb1, 0x5f, 0x8c, 0xb0, 0x15, 0x5a, 0xb8, 0x01, 0x59, 0x1f, 0x6b, 0xb4, + 0xec, 0x9f, 0x2f, 0xc2, 0x10, 0x7b, 0x85, 0x40, 0x2b, 0x30, 0xb2, 0xc3, 0x03, 0xf8, 0x0e, 0x12, + 0x2b, 0x38, 0x91, 0xbb, 0x78, 0x01, 0x96, 0x95, 0xd1, 0x1a, 0x9c, 0xe3, 0x01, 0x90, 0xbd, 0x1a, + 0xf1, 0x9c, 0x03, 0x29, 0xbe, 0xf3, 0x5c, 0x3a, 0x2a, 0x74, 0xc2, 0x6a, 0x37, 0x0a, 0xce, 0xaa, + 0x87, 0xde, 0x80, 0x89, 0xd8, 0xdd, 0x23, 0x41, 0x27, 0x96, 0x94, 0x78, 0xe8, 0x63, 0xc5, 0xec, + 0x6f, 0x18, 0x50, 0x9c, 0xc2, 0xa6, 0x82, 0x48, 0xbb, 0x4b, 0x51, 0xa1, 0x65, 0xa7, 0x37, 0x95, + 0x13, 0x26, 0x2e, 0x33, 0x97, 0xe9, 0x30, 0xe3, 0xa0, 0x8d, 0x9d, 0x90, 0x44, 0x3b, 0x81, 0xd7, + 0x12, 0xa9, 0x98, 0x13, 0x73, 0x99, 0x14, 0x1c, 0x77, 0xd5, 0xa0, 0x54, 0xb6, 0x1c, 0xd7, 0xeb, + 0x84, 0x24, 0xa1, 0x32, 0x6c, 0x52, 0x59, 0x49, 0xc1, 0x71, 0x57, 0x0d, 0xba, 0x8e, 0x2e, 0x88, + 0xdc, 0xc8, 0xd2, 0xa1, 0x5b, 0xd9, 0x40, 0x8d, 0x48, 0xd7, 0x96, 0x1e, 0x11, 0x4d, 0x84, 0x95, + 0x88, 0xca, 0xae, 0xac, 0x65, 0xde, 0x14, 0x4e, 0x2d, 0x92, 0xca, 0xc3, 0x64, 0xe8, 0xfd, 0x7d, + 0x0b, 0xce, 0x65, 0xd8, 0x5a, 0xf2, 0xa3, 0x6a, 0xdb, 0x8d, 0x62, 0x95, 0x2f, 0x44, 0x3b, 0xaa, + 0x78, 0x39, 0x56, 0x18, 0x74, 0x3f, 0xf0, 0xc3, 0x30, 0x7d, 0x00, 0x0a, 0x5b, 0x26, 0x01, 0x3d, + 0xd9, 0x01, 0x88, 0xae, 0x40, 0xa9, 0x13, 0x11, 0x19, 0x8b, 0x48, 0x9d, 0xdf, 0x4c, 0x55, 0xca, + 0x20, 0x94, 0x35, 0xdd, 0x56, 0x5a, 0x4a, 0x8d, 0x35, 0xe5, 0xaa, 0x47, 0x0e, 0xb3, 0xbf, 0x5a, + 0x84, 0x8b, 0xb9, 0xb6, 0xd4, 0xb4, 0x4b, 0x7b, 0x81, 0xef, 0xc6, 0x81, 0x7a, 0xe1, 0xe2, 0xd1, + 0x30, 0x48, 0x7b, 0x67, 0x4d, 0x94, 0x63, 0x85, 0x81, 0xae, 0xca, 0x2c, 0xdd, 0xe9, 0x8c, 0x28, + 0x8b, 0x35, 0x23, 0x51, 0xf7, 0xa0, 0xd9, 0xa6, 0x9e, 0x86, 0x52, 0x3b, 0x08, 0xbc, 0xf4, 0x61, + 0x44, 0xbb, 0x1b, 0x04, 0x1e, 0x66, 0x40, 0xf4, 0x09, 0x31, 0x0e, 0xa9, 0x27, 0x1d, 0xec, 0xb4, + 0x82, 0x48, 0x1b, 0x8c, 0x67, 0x61, 0x64, 0x97, 0x1c, 0x84, 0xae, 0xbf, 0x9d, 0x7e, 0xea, 0xbb, + 0xc5, 0x8b, 0xb1, 0x84, 0x9b, 0x09, 0x01, 0x46, 0x4e, 0x3b, 0x4d, 0x54, 0xb9, 0xef, 0xd5, 0xf6, + 0xa3, 0x45, 0x98, 0xc4, 0x8b, 0xb5, 0xef, 0x4c, 0xc4, 0xdd, 0xee, 0x89, 0x38, 0xed, 0x34, 0x51, + 0xfd, 0x67, 0xe3, 0x57, 0x2d, 0x98, 0x64, 0x41, 0x73, 0x45, 0x0c, 0x06, 0x37, 0xf0, 0xcf, 0x80, + 0x75, 0x7b, 0x1a, 0x86, 0x42, 0xda, 0x68, 0x3a, 0xf7, 0x0b, 0xeb, 0x09, 0xe6, 0x30, 0xf4, 0x24, + 0x94, 0x58, 0x17, 0xe8, 0xe4, 0x8d, 0xf1, 0xb0, 0xf9, 0x35, 0x27, 0x76, 0x30, 0x2b, 0x65, 0x8e, + 0xc5, 0x98, 0xb4, 0x3d, 0x97, 0x77, 0x3a, 0x51, 0xf5, 0x7f, 0x34, 0x1c, 0x8b, 0x33, 0xbb, 0xf6, + 0xc1, 0x1c, 0x8b, 0xb3, 0x49, 0xf6, 0x16, 0x8b, 0xfe, 0x67, 0x01, 0x2e, 0x67, 0xd6, 0x1b, 0xd8, + 0xb1, 0xb8, 0x77, 0xed, 0xd3, 0xb1, 0xd8, 0xc8, 0x36, 0xa4, 0x28, 0x9e, 0xa1, 0x21, 0x45, 0x69, + 0x50, 0xce, 0x71, 0x68, 0x00, 0x7f, 0xdf, 0xcc, 0x21, 0xfb, 0x88, 0xf8, 0xfb, 0x66, 0xf6, 0x2d, + 0x47, 0xac, 0xfb, 0xf3, 0x42, 0xce, 0xb7, 0x30, 0x01, 0xef, 0x1a, 0x3d, 0x67, 0x18, 0x30, 0x12, + 0x9c, 0xf0, 0x18, 0x3f, 0x63, 0x78, 0x19, 0x56, 0x50, 0xe4, 0x6a, 0x9e, 0xb3, 0x85, 0xfc, 0xcc, + 0x80, 0xb9, 0x4d, 0xcd, 0x99, 0x2f, 0x33, 0x6a, 0x08, 0x32, 0xbc, 0x68, 0xd7, 0x34, 0xa1, 0xbc, + 0x38, 0xb8, 0x50, 0x3e, 0x96, 0x2d, 0x90, 0xa3, 0x05, 0x98, 0xdc, 0x73, 0x7d, 0x96, 0xe9, 0xdd, + 0x64, 0x45, 0x55, 0x20, 0x89, 0x35, 0x13, 0x8c, 0xd3, 0xf8, 0xb3, 0xaf, 0xc3, 0xf8, 0xc3, 0xab, + 0x23, 0xbf, 0x55, 0x84, 0x27, 0x7a, 0x6c, 0x7b, 0x7e, 0xd6, 0x1b, 0x73, 0xa0, 0x9d, 0xf5, 0x5d, + 0xf3, 0x50, 0x87, 0xf3, 0x5b, 0x1d, 0xcf, 0x3b, 0x60, 0xb6, 0x8a, 0xa4, 0x25, 0x31, 0x04, 0xaf, + 0x28, 0xf3, 0xf7, 0x9f, 0x5f, 0xc9, 0xc0, 0xc1, 0x99, 0x35, 0xd1, 0x9b, 0x80, 0x02, 0x91, 0x96, + 0xf4, 0x06, 0xf1, 0x85, 0xbe, 0x9b, 0x0d, 0x7c, 0x31, 0xd9, 0x8c, 0x77, 0xba, 0x30, 0x70, 0x46, + 0x2d, 0xca, 0xf4, 0xd3, 0x5b, 0xe9, 0x40, 0x75, 0x2b, 0xc5, 0xf4, 0x63, 0x1d, 0x88, 0x4d, 0x5c, + 0x74, 0x03, 0xa6, 0x9d, 0x7d, 0xc7, 0xe5, 0x01, 0xd6, 0x24, 0x01, 0xce, 0xf5, 0x2b, 0x25, 0xd8, + 0x42, 0x1a, 0x01, 0x77, 0xd7, 0x49, 0xb9, 0xee, 0x0e, 0xe7, 0xbb, 0xee, 0xf6, 0x3e, 0x17, 0xfb, + 0xe9, 0x74, 0xed, 0xff, 0x62, 0xd1, 0xeb, 0x2b, 0x23, 0xb5, 0x38, 0x1d, 0x07, 0xa5, 0x9b, 0xd4, + 0xbc, 0x68, 0xd5, 0x38, 0x2c, 0xe9, 0x40, 0x6c, 0xe2, 0xf2, 0x05, 0x11, 0x25, 0x0e, 0x1d, 0x06, + 0xeb, 0x2e, 0xdc, 0xe4, 0x15, 0x06, 0xfa, 0x3c, 0x8c, 0xb4, 0xdc, 0x7d, 0x37, 0x0a, 0x42, 0xb1, + 0x59, 0x4e, 0x68, 0x16, 0x9f, 0x9c, 0x83, 0x35, 0x4e, 0x06, 0x4b, 0x7a, 0xf6, 0x8f, 0x16, 0x60, + 0x5c, 0xb6, 0xf8, 0x56, 0x27, 0x88, 0x9d, 0x33, 0xb8, 0x96, 0x6f, 0x18, 0xd7, 0xf2, 0x27, 0x7a, + 0xc5, 0x0a, 0x60, 0x5d, 0xca, 0xbd, 0x8e, 0xef, 0xa4, 0xae, 0xe3, 0x67, 0xfa, 0x93, 0xea, 0x7d, + 0x0d, 0xff, 0x4b, 0x0b, 0xa6, 0x0d, 0xfc, 0x33, 0xb8, 0x0d, 0x56, 0xcc, 0xdb, 0xe0, 0xa9, 0xbe, + 0xdf, 0x90, 0x73, 0x0b, 0x7c, 0xad, 0x90, 0xea, 0x3b, 0x3b, 0xfd, 0xdf, 0x83, 0xd2, 0x8e, 0x13, + 0xb6, 0x7a, 0xc5, 0x24, 0xed, 0xaa, 0x34, 0x77, 0xd3, 0x09, 0x5b, 0xfc, 0x0c, 0x7f, 0x5e, 0x25, + 0x33, 0x74, 0xc2, 0x56, 0x5f, 0xff, 0x25, 0xd6, 0x14, 0x7a, 0x0d, 0x86, 0xa3, 0x66, 0xd0, 0x56, + 0xd6, 0x85, 0x57, 0x78, 0xa2, 0x43, 0x5a, 0x72, 0x7c, 0x58, 0x45, 0x66, 0x73, 0xb4, 0x18, 0x0b, + 0xfc, 0xd9, 0x6d, 0xa8, 0xa8, 0xa6, 0x1f, 0xa9, 0x6f, 0xc8, 0x7f, 0x2a, 0xc2, 0xb9, 0x8c, 0x75, + 0x81, 0x22, 0x63, 0xb4, 0x5e, 0x1c, 0x70, 0x39, 0x7d, 0xc0, 0xf1, 0x8a, 0x98, 0xc4, 0xd2, 0x12, + 0xf3, 0x3f, 0x70, 0xa3, 0x77, 0x23, 0x92, 0x6e, 0x94, 0x16, 0xf5, 0x6f, 0x94, 0x36, 0x76, 0x66, + 0x43, 0x4d, 0x1b, 0x52, 0x3d, 0x7d, 0xa4, 0x73, 0xfa, 0x27, 0x45, 0x38, 0x9f, 0x15, 0x62, 0x04, + 0xfd, 0x40, 0x2a, 0x2b, 0xc9, 0xcb, 0x83, 0x06, 0x27, 0xe1, 0xa9, 0x4a, 0x44, 0x8e, 0xdd, 0x39, + 0x33, 0x4f, 0x49, 0xdf, 0x61, 0x16, 0x6d, 0x32, 0x87, 0xc2, 0x90, 0x67, 0x93, 0x91, 0x5b, 0xfc, + 0x53, 0x03, 0x77, 0x40, 0xa4, 0xa1, 0x89, 0x52, 0x0e, 0x85, 0xb2, 0xb8, 0xbf, 0x43, 0xa1, 0x6c, + 0x79, 0xd6, 0x85, 0x51, 0xed, 0x6b, 0x1e, 0xe9, 0x8c, 0xef, 0xd2, 0x1b, 0x45, 0xeb, 0xf7, 0x23, + 0x9d, 0xf5, 0x9f, 0xb6, 0x20, 0x65, 0xd3, 0xa7, 0x54, 0x52, 0x56, 0xae, 0x4a, 0xea, 0x0a, 0x94, + 0xc2, 0xc0, 0x23, 0xe9, 0x44, 0x21, 0x38, 0xf0, 0x08, 0x66, 0x10, 0x8a, 0x11, 0x27, 0x0a, 0x89, + 0x31, 0x5d, 0xd8, 0x12, 0x62, 0xd4, 0xd3, 0x30, 0xe4, 0x91, 0x7d, 0xe2, 0xa5, 0xa3, 0x70, 0xdf, + 0xa6, 0x85, 0x98, 0xc3, 0xec, 0x5f, 0x2d, 0xc1, 0xa5, 0x9e, 0x2e, 0xb9, 0x54, 0x64, 0xd9, 0x76, + 0x62, 0x72, 0xdf, 0x39, 0x48, 0x87, 0xcb, 0xbd, 0xc1, 0x8b, 0xb1, 0x84, 0x33, 0x0b, 0x64, 0x1e, + 0x1e, 0x2f, 0xa5, 0xc0, 0x13, 0x51, 0xf1, 0x04, 0xf4, 0x11, 0xe4, 0x17, 0xbf, 0x0e, 0x10, 0x45, + 0xde, 0xb2, 0x4f, 0x39, 0xb0, 0x96, 0x30, 0x6d, 0x4e, 0xc2, 0x28, 0x36, 0x6e, 0x0b, 0x08, 0xd6, + 0xb0, 0x50, 0x0d, 0xa6, 0xda, 0x61, 0x10, 0x73, 0x7d, 0x68, 0x8d, 0x1b, 0xc9, 0x0c, 0x99, 0xde, + 0x90, 0xf5, 0x14, 0x1c, 0x77, 0xd5, 0x40, 0xaf, 0xc0, 0xa8, 0xf0, 0x90, 0xac, 0x07, 0x81, 0x27, + 0x54, 0x35, 0xca, 0xe4, 0xa2, 0x91, 0x80, 0xb0, 0x8e, 0xa7, 0x55, 0x63, 0x4a, 0xd6, 0x91, 0xcc, + 0x6a, 0x5c, 0xd1, 0xaa, 0xe1, 0xa5, 0xc2, 0x0d, 0x95, 0x07, 0x0a, 0x37, 0x94, 0x28, 0xaf, 0x2a, + 0x03, 0xbf, 0x2b, 0x41, 0x5f, 0x75, 0xcf, 0x2f, 0x95, 0xe0, 0x9c, 0x58, 0x38, 0x8f, 0x7a, 0xb9, + 0x3c, 0xa2, 0x2c, 0xe8, 0xdf, 0x59, 0x33, 0x67, 0xbd, 0x66, 0xbe, 0x5e, 0x84, 0x61, 0x3e, 0x15, + 0x67, 0xc0, 0xc3, 0xaf, 0x08, 0xa5, 0x5f, 0x8f, 0x40, 0x3b, 0xbc, 0x2f, 0x73, 0x35, 0x27, 0x76, + 0xf8, 0xfd, 0xa5, 0x8e, 0xd1, 0x44, 0x3d, 0x88, 0xe6, 0x8c, 0x83, 0x76, 0x36, 0xa5, 0xd5, 0x02, + 0x4e, 0x43, 0x3b, 0x76, 0xbf, 0x04, 0x10, 0xb1, 0x4c, 0xdc, 0x94, 0x86, 0x08, 0xd9, 0xf4, 0xc9, + 0x1e, 0xad, 0x37, 0x14, 0x32, 0xef, 0x43, 0xb2, 0x04, 0x15, 0x00, 0x6b, 0x14, 0x67, 0x5f, 0x85, + 0x8a, 0x42, 0xee, 0xa7, 0x02, 0x18, 0xd3, 0x6f, 0xbd, 0xcf, 0xc2, 0x64, 0xaa, 0xad, 0x13, 0x69, + 0x10, 0x7e, 0xcd, 0x82, 0x49, 0xde, 0xe5, 0x65, 0x7f, 0x5f, 0x6c, 0xf6, 0xf7, 0xe1, 0xbc, 0x97, + 0xb1, 0xe9, 0xc4, 0x8c, 0x0e, 0xbe, 0x49, 0x95, 0xc6, 0x20, 0x0b, 0x8a, 0x33, 0xdb, 0x40, 0xd7, + 0xa0, 0xcc, 0x5d, 0x76, 0x1c, 0x4f, 0xb8, 0x59, 0x8c, 0xf1, 0x28, 0xf9, 0xbc, 0x0c, 0x2b, 0xa8, + 0xfd, 0xbb, 0x16, 0x4c, 0xf3, 0x9e, 0xdf, 0x22, 0x07, 0x4a, 0x3a, 0xfe, 0x30, 0xfb, 0x2e, 0x92, + 0x00, 0x14, 0x72, 0x92, 0x00, 0xe8, 0x9f, 0x56, 0xec, 0xf9, 0x69, 0xbf, 0x68, 0x81, 0x58, 0x81, + 0x67, 0x20, 0x07, 0x7e, 0x8f, 0x29, 0x07, 0xce, 0xe6, 0x2f, 0xea, 0x1c, 0x01, 0xf0, 0xcf, 0x2c, + 0x98, 0xe2, 0x08, 0xc9, 0x43, 0xe4, 0x87, 0x3a, 0x0f, 0x83, 0x64, 0xf3, 0x52, 0xe9, 0x7b, 0xb3, + 0x3f, 0xca, 0x98, 0xac, 0x52, 0xcf, 0xc9, 0x6a, 0xc9, 0x0d, 0x74, 0x82, 0x2c, 0x75, 0x27, 0x0e, + 0xa6, 0x6b, 0xff, 0xb1, 0x05, 0x88, 0x37, 0x63, 0xdc, 0xcb, 0xf4, 0xb6, 0x63, 0xa5, 0x9a, 0x26, + 0x28, 0x39, 0x6a, 0x14, 0x04, 0x6b, 0x58, 0xa7, 0x32, 0x3c, 0xa9, 0xd7, 0xe4, 0x62, 0xff, 0xd7, + 0xe4, 0x13, 0x8c, 0xe8, 0xd7, 0x4b, 0x90, 0xb6, 0xd1, 0x46, 0xf7, 0x60, 0xac, 0xe9, 0xb4, 0x9d, + 0x4d, 0xd7, 0x73, 0x63, 0x97, 0x44, 0xbd, 0xcc, 0x50, 0x96, 0x34, 0x3c, 0xf1, 0x4e, 0xa8, 0x95, + 0x60, 0x83, 0x0e, 0x9a, 0x03, 0x68, 0x87, 0xee, 0xbe, 0xeb, 0x91, 0x6d, 0x26, 0x0a, 0x33, 0xc7, + 0x2e, 0x6e, 0x5b, 0x21, 0x4b, 0xb1, 0x86, 0x91, 0xe1, 0x08, 0x54, 0x7c, 0x74, 0x8e, 0x40, 0xa5, + 0x13, 0x3a, 0x02, 0x0d, 0x0d, 0xe4, 0x08, 0x84, 0xe1, 0x31, 0x79, 0x77, 0xd3, 0xff, 0x2b, 0xae, + 0x47, 0x04, 0xc3, 0xc6, 0xdd, 0xbd, 0x66, 0x8f, 0x0e, 0xab, 0x8f, 0xe1, 0x4c, 0x0c, 0x9c, 0x53, + 0x13, 0x7d, 0x0e, 0x66, 0x1c, 0xcf, 0x0b, 0xee, 0xab, 0x51, 0x5b, 0x8e, 0x9a, 0x8e, 0xc7, 0xd5, + 0xbd, 0x23, 0x8c, 0xea, 0x93, 0x47, 0x87, 0xd5, 0x99, 0x85, 0x1c, 0x1c, 0x9c, 0x5b, 0x3b, 0xe5, + 0x47, 0x54, 0xee, 0xeb, 0x47, 0xb4, 0x0b, 0xe7, 0x1a, 0x24, 0x74, 0x59, 0x0e, 0xbd, 0x56, 0xb2, + 0x25, 0x37, 0xa0, 0x12, 0xa6, 0x0e, 0xa1, 0x81, 0x62, 0xc0, 0x68, 0x71, 0x42, 0xe5, 0xa1, 0x93, + 0x10, 0xb2, 0xff, 0xd4, 0x82, 0x11, 0x61, 0x27, 0x7e, 0x06, 0xbc, 0xcf, 0x82, 0xa1, 0xbf, 0xac, + 0x66, 0x1f, 0xd4, 0xac, 0x33, 0xb9, 0x9a, 0xcb, 0xd5, 0x94, 0xe6, 0xf2, 0xa9, 0x5e, 0x44, 0x7a, + 0xeb, 0x2c, 0x7f, 0xb2, 0x08, 0x13, 0xa6, 0x8d, 0xfc, 0x19, 0x0c, 0xc1, 0x3a, 0x8c, 0x44, 0xc2, + 0x21, 0xa3, 0x90, 0x6f, 0x38, 0x9b, 0x9e, 0xc4, 0xc4, 0x2a, 0x46, 0xb8, 0x60, 0x48, 0x22, 0x99, + 0x9e, 0x1e, 0xc5, 0x47, 0xe8, 0xe9, 0xd1, 0xcf, 0x4d, 0xa1, 0x74, 0x1a, 0x6e, 0x0a, 0xf6, 0x37, + 0xd8, 0x65, 0xa1, 0x97, 0x9f, 0x01, 0x1f, 0x71, 0xc3, 0xbc, 0x56, 0xec, 0x1e, 0x2b, 0x4b, 0x74, + 0x2a, 0x87, 0x9f, 0xf8, 0x15, 0x0b, 0x2e, 0x65, 0x7c, 0x95, 0xc6, 0x5c, 0x3c, 0x0f, 0x65, 0xa7, + 0xd3, 0x72, 0xd5, 0x5e, 0xd6, 0x5e, 0x31, 0x16, 0x44, 0x39, 0x56, 0x18, 0x68, 0x09, 0xa6, 0xc9, + 0x83, 0xb6, 0xcb, 0x9f, 0x91, 0x74, 0xd3, 0xb5, 0x22, 0x8f, 0x81, 0xb9, 0x9c, 0x06, 0xe2, 0x6e, + 0x7c, 0xe5, 0x39, 0x5a, 0xcc, 0xf5, 0x1c, 0xfd, 0x27, 0x16, 0x8c, 0x8a, 0x6e, 0x9f, 0xc1, 0x68, + 0x7f, 0xaf, 0x39, 0xda, 0x4f, 0xf4, 0x18, 0xed, 0x9c, 0x61, 0xfe, 0x7b, 0x05, 0xd5, 0xdf, 0x7a, + 0x10, 0xc6, 0x03, 0x30, 0x2d, 0xaf, 0x41, 0x99, 0x0a, 0xbd, 0x41, 0x33, 0xf0, 0x04, 0xcf, 0xf2, + 0x64, 0xe2, 0xd8, 0xcc, 0xcb, 0x8f, 0xb5, 0xdf, 0x58, 0x61, 0xb3, 0xd1, 0x0b, 0xc2, 0x58, 0xf0, + 0x09, 0xc9, 0xe8, 0x05, 0x61, 0x8c, 0x19, 0x04, 0xb5, 0x00, 0x62, 0x27, 0xdc, 0x26, 0x31, 0x2d, + 0x13, 0x31, 0x12, 0xf2, 0x0f, 0x8f, 0x4e, 0xec, 0x7a, 0x73, 0xae, 0x1f, 0x47, 0x71, 0x38, 0xb7, + 0xea, 0xc7, 0x77, 0x42, 0x2e, 0x02, 0x69, 0x9e, 0xca, 0x8a, 0x16, 0xd6, 0xe8, 0x4a, 0xd7, 0x37, + 0xd6, 0xc6, 0x90, 0xf9, 0x1e, 0xba, 0x2e, 0xca, 0xb1, 0xc2, 0xb0, 0x5f, 0x65, 0x57, 0x09, 0x1b, + 0xa0, 0x93, 0x39, 0x11, 0x7f, 0xb3, 0xac, 0x86, 0x96, 0x3d, 0x86, 0xd4, 0x74, 0x57, 0xe5, 0xde, + 0x27, 0x37, 0x6d, 0x58, 0x77, 0xa3, 0x48, 0xfc, 0x99, 0xd1, 0xf7, 0x75, 0x3d, 0x93, 0xbf, 0xd0, + 0xe7, 0x0a, 0x38, 0xc1, 0xc3, 0x38, 0x8b, 0xcb, 0xcb, 0xe2, 0x97, 0xae, 0xd6, 0xc5, 0x22, 0xd7, + 0xe2, 0xf2, 0x0a, 0x00, 0x4e, 0x70, 0xd0, 0xbc, 0x10, 0xa0, 0x4b, 0x46, 0xfa, 0x2c, 0x29, 0x40, + 0xcb, 0xcf, 0xd7, 0x24, 0xe8, 0x17, 0x61, 0x54, 0xa5, 0xd1, 0xaa, 0xf3, 0x6c, 0x44, 0x22, 0x62, + 0xc4, 0x72, 0x52, 0x8c, 0x75, 0x1c, 0xb4, 0x01, 0x93, 0x11, 0x4f, 0x28, 0xa6, 0x02, 0x83, 0x71, + 0xf5, 0xc8, 0x27, 0xe5, 0xf3, 0x7a, 0xc3, 0x04, 0x1f, 0xb3, 0x22, 0x7e, 0x74, 0x48, 0xff, 0xb5, + 0x34, 0x09, 0xf4, 0x06, 0x4c, 0x78, 0x7a, 0x32, 0xea, 0xba, 0xd0, 0x9e, 0x28, 0xeb, 0x53, 0x23, + 0x55, 0x75, 0x1d, 0xa7, 0xb0, 0x29, 0xaf, 0xa3, 0x97, 0x88, 0x60, 0x76, 0x8e, 0xbf, 0x4d, 0x22, + 0x91, 0x04, 0x88, 0xf1, 0x3a, 0xb7, 0x73, 0x70, 0x70, 0x6e, 0x6d, 0xf4, 0x1a, 0x8c, 0xc9, 0xcf, + 0xd7, 0xbc, 0x33, 0x13, 0x1b, 0x67, 0x0d, 0x86, 0x0d, 0x4c, 0x74, 0x1f, 0x2e, 0xc8, 0xff, 0x1b, + 0xa1, 0xb3, 0xb5, 0xe5, 0x36, 0x85, 0x73, 0x2c, 0x77, 0xf4, 0x58, 0x90, 0x9e, 0x23, 0xcb, 0x59, + 0x48, 0xc7, 0x87, 0xd5, 0x2b, 0x62, 0xd4, 0x32, 0xe1, 0x6c, 0x12, 0xb3, 0xe9, 0xa3, 0x35, 0x38, + 0xb7, 0x43, 0x1c, 0x2f, 0xde, 0x59, 0xda, 0x21, 0xcd, 0x5d, 0xb9, 0x89, 0x98, 0xcf, 0xa7, 0x66, + 0x19, 0x7c, 0xb3, 0x1b, 0x05, 0x67, 0xd5, 0x43, 0xef, 0xc0, 0x4c, 0xbb, 0xb3, 0xe9, 0xb9, 0xd1, + 0xce, 0x7a, 0x10, 0xb3, 0x17, 0x7d, 0x95, 0x85, 0x4a, 0x38, 0x87, 0x2a, 0x7f, 0xd7, 0x7a, 0x0e, + 0x1e, 0xce, 0xa5, 0x80, 0xde, 0x87, 0x0b, 0xa9, 0xc5, 0x20, 0x5c, 0xd5, 0x26, 0xf2, 0x43, 0x83, + 0x36, 0xb2, 0x2a, 0x08, 0xd7, 0xb3, 0x2c, 0x10, 0xce, 0x6e, 0xe2, 0x83, 0xd9, 0x79, 0xbc, 0x47, + 0x2b, 0x6b, 0x4c, 0x19, 0xfa, 0x32, 0x8c, 0xe9, 0xab, 0x48, 0x5c, 0x30, 0x57, 0xfb, 0x25, 0x5e, + 0x17, 0x2c, 0x9d, 0x5a, 0x51, 0x3a, 0x0c, 0x1b, 0x14, 0x6d, 0x02, 0xd9, 0xdf, 0x87, 0x6e, 0x43, + 0xb9, 0xe9, 0xb9, 0xc4, 0x8f, 0x57, 0xeb, 0xbd, 0x82, 0x20, 0x2c, 0x09, 0x1c, 0x31, 0x60, 0x22, + 0x96, 0x22, 0x2f, 0xc3, 0x8a, 0x82, 0xfd, 0x9b, 0x05, 0xa8, 0xf6, 0x09, 0xcc, 0x99, 0x52, 0x75, + 0x5a, 0x03, 0xa9, 0x3a, 0x17, 0x64, 0x4e, 0xad, 0xf5, 0x94, 0x98, 0x9d, 0xca, 0x97, 0x95, 0x08, + 0xdb, 0x69, 0xfc, 0x81, 0xcd, 0x43, 0x75, 0x6d, 0x69, 0xa9, 0xaf, 0xe1, 0xb2, 0xf1, 0x4a, 0x32, + 0x34, 0xb8, 0x20, 0x92, 0xab, 0xf1, 0xb6, 0xbf, 0x51, 0x80, 0x0b, 0x6a, 0x08, 0xbf, 0x7d, 0x07, + 0xee, 0x6e, 0xf7, 0xc0, 0x9d, 0xc2, 0x7b, 0x81, 0x7d, 0x07, 0x86, 0x1b, 0x07, 0x51, 0x33, 0xf6, + 0x06, 0x60, 0x80, 0x9e, 0x36, 0x83, 0x01, 0xa9, 0x6b, 0xda, 0x08, 0x08, 0xf4, 0xd7, 0x2c, 0x98, + 0xdc, 0x58, 0xaa, 0x37, 0x82, 0xe6, 0x2e, 0x89, 0x17, 0x38, 0xc3, 0x8a, 0x05, 0xff, 0x63, 0x3d, + 0x24, 0x5f, 0x93, 0xc5, 0x31, 0x5d, 0x81, 0xd2, 0x4e, 0x10, 0xc5, 0xe9, 0xc7, 0xc4, 0x9b, 0x41, + 0x14, 0x63, 0x06, 0xb1, 0x7f, 0xcf, 0x82, 0x21, 0x96, 0x09, 0xb2, 0x5f, 0x7a, 0xd2, 0x41, 0xbe, + 0x0b, 0xbd, 0x02, 0xc3, 0x64, 0x6b, 0x8b, 0x34, 0x63, 0x31, 0xab, 0xd2, 0x1b, 0x71, 0x78, 0x99, + 0x95, 0xd2, 0x4b, 0x9f, 0x35, 0xc6, 0xff, 0x62, 0x81, 0x8c, 0xde, 0x86, 0x4a, 0xec, 0xee, 0x91, + 0x85, 0x56, 0x4b, 0x3c, 0xc7, 0x3c, 0x84, 0xf3, 0xe7, 0x86, 0x24, 0x80, 0x13, 0x5a, 0xf6, 0x57, + 0x0b, 0x00, 0x89, 0x47, 0x75, 0xbf, 0x4f, 0x5c, 0xec, 0xca, 0xc0, 0x7a, 0x35, 0x23, 0x03, 0x2b, + 0x4a, 0x08, 0x66, 0xe4, 0x5f, 0x55, 0xc3, 0x54, 0x1c, 0x68, 0x98, 0x4a, 0x27, 0x19, 0xa6, 0x25, + 0x98, 0x4e, 0x3c, 0xc2, 0xcd, 0xf0, 0x18, 0x4c, 0x48, 0xd9, 0x48, 0x03, 0x71, 0x37, 0xbe, 0xfd, + 0xc3, 0x16, 0x08, 0xaf, 0x8a, 0x01, 0x16, 0xf3, 0x17, 0x64, 0xfe, 0x42, 0x23, 0xbe, 0xef, 0x95, + 0x7c, 0x37, 0x13, 0x11, 0xd5, 0x57, 0x5d, 0x1e, 0x46, 0x2c, 0x5f, 0x83, 0x96, 0xdd, 0x02, 0x01, + 0xad, 0x11, 0xa6, 0x1b, 0xe9, 0xdf, 0x9b, 0xeb, 0x00, 0x2d, 0x86, 0xab, 0x65, 0x31, 0x53, 0x47, + 0x55, 0x4d, 0x41, 0xb0, 0x86, 0x65, 0xff, 0x78, 0x01, 0x46, 0x65, 0x3c, 0xd9, 0x8e, 0x3f, 0x88, + 0x04, 0x73, 0xa2, 0x64, 0x12, 0x2c, 0xed, 0x1f, 0x25, 0x5c, 0x4f, 0x04, 0xbf, 0x24, 0xed, 0x9f, + 0x04, 0xe0, 0x04, 0x07, 0x3d, 0x0b, 0x23, 0x51, 0x67, 0x93, 0xa1, 0xa7, 0x7c, 0x05, 0x1a, 0xbc, + 0x18, 0x4b, 0x38, 0xfa, 0x1c, 0x4c, 0xf1, 0x7a, 0x61, 0xd0, 0x76, 0xb6, 0xb9, 0xa2, 0x6c, 0x48, + 0x39, 0xef, 0x4d, 0xad, 0xa5, 0x60, 0xc7, 0x87, 0xd5, 0xf3, 0xe9, 0x32, 0xa6, 0x62, 0xed, 0xa2, + 0x62, 0x7f, 0x19, 0x50, 0x77, 0x88, 0x5c, 0xf4, 0x26, 0xb7, 0x06, 0x71, 0x43, 0x95, 0xb5, 0xfc, + 0x4a, 0x3f, 0x5f, 0x33, 0x69, 0xaf, 0xcb, 0x6b, 0x61, 0x55, 0xdf, 0xfe, 0x9b, 0x45, 0x98, 0x4a, + 0x7b, 0x1e, 0xa1, 0x9b, 0x30, 0xcc, 0x0f, 0xd5, 0x5e, 0x49, 0xd1, 0xd3, 0xcf, 0x04, 0x3c, 0x7e, + 0xbf, 0x38, 0x97, 0x45, 0x7d, 0xf4, 0x0e, 0x8c, 0xb6, 0x82, 0xfb, 0xfe, 0x7d, 0x27, 0x6c, 0x2d, + 0xd4, 0x57, 0xc5, 0xba, 0xcc, 0xe4, 0xcd, 0x6a, 0x09, 0x9a, 0xee, 0x03, 0xc5, 0xd4, 0xd0, 0x09, + 0x08, 0xeb, 0xe4, 0xd0, 0x86, 0x9e, 0x2f, 0xbe, 0x87, 0xf9, 0x9e, 0x4a, 0x08, 0xaf, 0x51, 0xce, + 0xcd, 0x14, 0x8f, 0x7e, 0x00, 0xce, 0x45, 0x39, 0xea, 0x9c, 0xbc, 0x88, 0xe9, 0xbd, 0x34, 0x1c, + 0x8b, 0x8f, 0x53, 0xae, 0x39, 0x4b, 0xf1, 0x93, 0xd5, 0x8c, 0xfd, 0x95, 0x73, 0x60, 0xec, 0x46, + 0x23, 0x59, 0x86, 0x75, 0x4a, 0xc9, 0x32, 0x30, 0x94, 0xc9, 0x5e, 0x3b, 0x3e, 0xa8, 0xb9, 0x61, + 0xaf, 0x6c, 0x4b, 0xcb, 0x02, 0xa7, 0x9b, 0xa6, 0x84, 0x60, 0x45, 0x27, 0x3b, 0xa3, 0x49, 0xf1, + 0x43, 0xcc, 0x68, 0x52, 0x3a, 0xc3, 0x8c, 0x26, 0xeb, 0x30, 0xb2, 0xed, 0xc6, 0x98, 0xb4, 0x03, + 0xc1, 0xce, 0x64, 0xae, 0xc3, 0x1b, 0x1c, 0xa5, 0x3b, 0x9e, 0xbe, 0x00, 0x60, 0x49, 0x04, 0xbd, + 0xa9, 0x76, 0xe0, 0x70, 0xbe, 0x34, 0xd0, 0xfd, 0x86, 0x94, 0xb9, 0x07, 0x45, 0x06, 0x93, 0x91, + 0x87, 0xcd, 0x60, 0xb2, 0x22, 0xf3, 0x8e, 0x94, 0xf3, 0x6d, 0x6d, 0x59, 0x5a, 0x91, 0x3e, 0xd9, + 0x46, 0x8c, 0x0c, 0x2d, 0x95, 0xd3, 0xcb, 0xd0, 0xf2, 0xc3, 0x16, 0x5c, 0x68, 0x67, 0x25, 0x2b, + 0x12, 0x79, 0x43, 0x5e, 0x19, 0x38, 0x1b, 0x93, 0xd1, 0x20, 0x13, 0x0b, 0x33, 0xd1, 0x70, 0x76, + 0x73, 0x74, 0xa0, 0xc3, 0xcd, 0x96, 0x48, 0x36, 0xf2, 0x74, 0x4e, 0xaa, 0x97, 0x1e, 0x09, 0x5e, + 0x36, 0x32, 0x12, 0x8c, 0x7c, 0x3c, 0x2f, 0xc1, 0xc8, 0xc0, 0x69, 0x45, 0x92, 0x24, 0x2f, 0xe3, + 0x1f, 0x38, 0xc9, 0xcb, 0x9b, 0x2a, 0xc9, 0x4b, 0x8f, 0x50, 0x4d, 0x3c, 0x85, 0x4b, 0xdf, 0xd4, + 0x2e, 0x5a, 0x7a, 0x96, 0xc9, 0xd3, 0x49, 0xcf, 0x62, 0x5c, 0x35, 0x3c, 0x43, 0xc8, 0x73, 0x7d, + 0xae, 0x1a, 0x83, 0x6e, 0xef, 0xcb, 0x86, 0xa7, 0xa2, 0x99, 0x7e, 0xa8, 0x54, 0x34, 0xf7, 0xf4, + 0xd4, 0x2e, 0xa8, 0x4f, 0xee, 0x12, 0x8a, 0x34, 0x60, 0x42, 0x97, 0x7b, 0xfa, 0x05, 0x78, 0x2e, + 0x9f, 0xae, 0xba, 0xe7, 0xba, 0xe9, 0x66, 0x5e, 0x81, 0x5d, 0x89, 0x62, 0xce, 0x9f, 0x4d, 0xa2, + 0x98, 0x0b, 0xa7, 0x9e, 0x28, 0xe6, 0xb1, 0x33, 0x48, 0x14, 0xf3, 0xf8, 0x87, 0x9a, 0x28, 0x66, + 0xe6, 0x11, 0x24, 0x8a, 0x59, 0x4f, 0x12, 0xc5, 0x5c, 0xcc, 0x9f, 0x92, 0x0c, 0xe3, 0xc2, 0x9c, + 0xf4, 0x30, 0xf7, 0xa0, 0xd2, 0x96, 0xae, 0xf1, 0x22, 0x96, 0x54, 0x76, 0x86, 0xca, 0x2c, 0xff, + 0x79, 0x3e, 0x25, 0x0a, 0x84, 0x13, 0x52, 0x94, 0x6e, 0x92, 0x2e, 0xe6, 0x89, 0x1e, 0x8a, 0xbf, + 0x2c, 0x95, 0x4a, 0x7e, 0x92, 0x18, 0xfb, 0xaf, 0x17, 0xe0, 0x72, 0xef, 0x75, 0x9d, 0xe8, 0x63, + 0xea, 0xc9, 0xfb, 0x41, 0x4a, 0x1f, 0xc3, 0x85, 0x9c, 0x04, 0x6b, 0xe0, 0xf8, 0x21, 0x37, 0x60, + 0x5a, 0x59, 0x15, 0x7a, 0x6e, 0xf3, 0x40, 0xcb, 0x5c, 0xa9, 0x3c, 0x9c, 0x1a, 0x69, 0x04, 0xdc, + 0x5d, 0x07, 0x2d, 0xc0, 0xa4, 0x51, 0xb8, 0x5a, 0x13, 0xc2, 0x8c, 0x52, 0x00, 0x35, 0x4c, 0x30, + 0x4e, 0xe3, 0xdb, 0x5f, 0xb3, 0xe0, 0xf1, 0x9c, 0x18, 0xea, 0x03, 0x87, 0xc7, 0xd8, 0x82, 0xc9, + 0xb6, 0x59, 0xb5, 0x4f, 0x14, 0x1d, 0x23, 0x52, 0xbb, 0xea, 0x6b, 0x0a, 0x80, 0xd3, 0x44, 0x17, + 0xaf, 0xfd, 0xf6, 0x1f, 0x5c, 0xfe, 0xd8, 0xef, 0xfc, 0xc1, 0xe5, 0x8f, 0xfd, 0xee, 0x1f, 0x5c, + 0xfe, 0xd8, 0x5f, 0x3a, 0xba, 0x6c, 0xfd, 0xf6, 0xd1, 0x65, 0xeb, 0x77, 0x8e, 0x2e, 0x5b, 0xbf, + 0x7b, 0x74, 0xd9, 0xfa, 0xfd, 0xa3, 0xcb, 0xd6, 0x57, 0xff, 0xf0, 0xf2, 0xc7, 0xbe, 0x50, 0xd8, + 0x7f, 0xf1, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x30, 0xb0, 0xa9, 0x66, 0x94, 0xe0, 0x00, 0x00, } diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto index a92d7392..fcdba321 100644 --- a/vendor/k8s.io/api/core/v1/generated.proto +++ b/vendor/k8s.io/api/core/v1/generated.proto @@ -3986,6 +3986,32 @@ message ServiceAccountList { repeated ServiceAccount items = 2; } +// ServiceAccountTokenProjection represents a projected service account token +// volume. This projection can be used to insert a service account token into +// the pods runtime filesystem for use against APIs (Kubernetes API Server or +// otherwise). +message ServiceAccountTokenProjection { + // Audience is the intended audience of the token. A recipient of a token + // must identify itself with an identifier specified in the audience of the + // token, and otherwise should reject the token. The audience defaults to the + // identifier of the apiserver. + // +optional + optional string audience = 1; + + // ExpirationSeconds is the requested duration of validity of the service + // account token. As the token approaches expiration, the kubelet volume + // plugin will proactively rotate the service account token. The kubelet will + // start trying to rotate the token if the token is older than 80 percent of + // its time to live or if the token is older than 24 hours.Defaults to 1 hour + // and must be at least 10 minutes. + // +optional + optional int64 expirationSeconds = 2; + + // Path is the path relative to the mount point of the file to project the + // token into. + optional string path = 3; +} + // ServiceList holds a list of services. message ServiceList { // Standard list metadata. @@ -4372,13 +4398,20 @@ message VolumeNodeAffinity { // Projection that may be projected along with other supported volume types message VolumeProjection { // information about the secret data to project + // +optional optional SecretProjection secret = 1; // information about the downwardAPI data to project + // +optional optional DownwardAPIProjection downwardAPI = 2; // information about the configMap data to project + // +optional optional ConfigMapProjection configMap = 3; + + // information about the serviceAccountToken data to project + // +optional + optional ServiceAccountTokenProjection serviceAccountToken = 4; } // Represents the source of a volume to mount. diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go index e46e9db0..c08a38d8 100644 --- a/vendor/k8s.io/api/core/v1/types.go +++ b/vendor/k8s.io/api/core/v1/types.go @@ -1466,6 +1466,30 @@ type ConfigMapProjection struct { Optional *bool `json:"optional,omitempty" protobuf:"varint,4,opt,name=optional"` } +// ServiceAccountTokenProjection represents a projected service account token +// volume. This projection can be used to insert a service account token into +// the pods runtime filesystem for use against APIs (Kubernetes API Server or +// otherwise). +type ServiceAccountTokenProjection struct { + // Audience is the intended audience of the token. A recipient of a token + // must identify itself with an identifier specified in the audience of the + // token, and otherwise should reject the token. The audience defaults to the + // identifier of the apiserver. + //+optional + Audience string `json:"audience,omitempty" protobuf:"bytes,1,rep,name=audience"` + // ExpirationSeconds is the requested duration of validity of the service + // account token. As the token approaches expiration, the kubelet volume + // plugin will proactively rotate the service account token. The kubelet will + // start trying to rotate the token if the token is older than 80 percent of + // its time to live or if the token is older than 24 hours.Defaults to 1 hour + // and must be at least 10 minutes. + //+optional + ExpirationSeconds *int64 `json:"expirationSeconds,omitempty" protobuf:"varint,2,opt,name=expirationSeconds"` + // Path is the path relative to the mount point of the file to project the + // token into. + Path string `json:"path" protobuf:"bytes,3,opt,name=path"` +} + // Represents a projected volume source type ProjectedVolumeSource struct { // list of volume projections @@ -1484,11 +1508,17 @@ type VolumeProjection struct { // all types below are the supported types for projection into the same volume // information about the secret data to project + // +optional Secret *SecretProjection `json:"secret,omitempty" protobuf:"bytes,1,opt,name=secret"` // information about the downwardAPI data to project + // +optional DownwardAPI *DownwardAPIProjection `json:"downwardAPI,omitempty" protobuf:"bytes,2,opt,name=downwardAPI"` // information about the configMap data to project + // +optional ConfigMap *ConfigMapProjection `json:"configMap,omitempty" protobuf:"bytes,3,opt,name=configMap"` + // information about the serviceAccountToken data to project + // +optional + ServiceAccountToken *ServiceAccountTokenProjection `json:"serviceAccountToken,omitempty" protobuf:"bytes,4,opt,name=serviceAccountToken"` } const ( diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go index 567f37dd..3df3461c 100644 --- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -1988,6 +1988,17 @@ func (ServiceAccountList) SwaggerDoc() map[string]string { return map_ServiceAccountList } +var map_ServiceAccountTokenProjection = map[string]string{ + "": "ServiceAccountTokenProjection represents a projected service account token volume. This projection can be used to insert a service account token into the pods runtime filesystem for use against APIs (Kubernetes API Server or otherwise).", + "audience": "Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.", + "expirationSeconds": "ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.", + "path": "Path is the path relative to the mount point of the file to project the token into.", +} + +func (ServiceAccountTokenProjection) SwaggerDoc() map[string]string { + return map_ServiceAccountTokenProjection +} + var map_ServiceList = map[string]string{ "": "ServiceList holds a list of services.", "metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", @@ -2172,10 +2183,11 @@ func (VolumeNodeAffinity) SwaggerDoc() map[string]string { } var map_VolumeProjection = map[string]string{ - "": "Projection that may be projected along with other supported volume types", - "secret": "information about the secret data to project", - "downwardAPI": "information about the downwardAPI data to project", - "configMap": "information about the configMap data to project", + "": "Projection that may be projected along with other supported volume types", + "secret": "information about the secret data to project", + "downwardAPI": "information about the downwardAPI data to project", + "configMap": "information about the configMap data to project", + "serviceAccountToken": "information about the serviceAccountToken data to project", } func (VolumeProjection) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go index 0fbcc9a7..907dccce 100644 --- a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -5159,6 +5159,31 @@ func (in *ServiceAccountList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServiceAccountTokenProjection) DeepCopyInto(out *ServiceAccountTokenProjection) { + *out = *in + if in.ExpirationSeconds != nil { + in, out := &in.ExpirationSeconds, &out.ExpirationSeconds + if *in == nil { + *out = nil + } else { + *out = new(int64) + **out = **in + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountTokenProjection. +func (in *ServiceAccountTokenProjection) DeepCopy() *ServiceAccountTokenProjection { + if in == nil { + return nil + } + out := new(ServiceAccountTokenProjection) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServiceList) DeepCopyInto(out *ServiceList) { *out = *in @@ -5568,6 +5593,15 @@ func (in *VolumeProjection) DeepCopyInto(out *VolumeProjection) { (*in).DeepCopyInto(*out) } } + if in.ServiceAccountToken != nil { + in, out := &in.ServiceAccountToken, &out.ServiceAccountToken + if *in == nil { + *out = nil + } else { + *out = new(ServiceAccountTokenProjection) + (*in).DeepCopyInto(*out) + } + } return } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go index cd651bcd..c36fc655 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/conversion.go @@ -75,6 +75,8 @@ func AddConversionFuncs(scheme *runtime.Scheme) error { Convert_unversioned_LabelSelector_to_map, Convert_Slice_string_To_Slice_int32, + + Convert_Slice_string_To_v1_DeletionPropagation, ) } @@ -304,3 +306,13 @@ func Convert_Slice_string_To_Slice_int32(in *[]string, out *[]int32, s conversio } return nil } + +// Convert_Slice_string_To_v1_DeletionPropagation allows converting a URL query parameter propagationPolicy +func Convert_Slice_string_To_v1_DeletionPropagation(input *[]string, out *DeletionPropagation, s conversion.Scope) error { + if len(*input) > 0 { + *out = DeletionPropagation((*input)[0]) + } else { + *out = "" + } + return nil +} diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index e78380ab..4baf44f3 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -49,6 +49,7 @@ message APIGroup { // The server returns only those CIDRs that it thinks that the client can match. // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP. + // +optional repeated ServerAddressByClientCIDR serverAddressByClientCIDRs = 4; } diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go index 917efb37..e93df184 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/types.go @@ -799,7 +799,8 @@ type APIGroup struct { // The server returns only those CIDRs that it thinks that the client can match. // For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. // Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP. - ServerAddressByClientCIDRs []ServerAddressByClientCIDR `json:"serverAddressByClientCIDRs" protobuf:"bytes,4,rep,name=serverAddressByClientCIDRs"` + // +optional + ServerAddressByClientCIDRs []ServerAddressByClientCIDR `json:"serverAddressByClientCIDRs,omitempty" protobuf:"bytes,4,rep,name=serverAddressByClientCIDRs"` } // ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. diff --git a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/helpers.go b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/helpers.go index 60f05736..fc138e75 100644 --- a/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/helpers.go +++ b/vendor/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/helpers.go @@ -18,7 +18,6 @@ package unstructured import ( gojson "encoding/json" - "errors" "fmt" "io" "strings" @@ -450,44 +449,3 @@ func (c JSONFallbackEncoder) Encode(obj runtime.Object, w io.Writer) error { } return err } - -// UnstructuredObjectConverter is an ObjectConverter for use with -// Unstructured objects. Since it has no schema or type information, -// it will only succeed for no-op conversions. This is provided as a -// sane implementation for APIs that require an object converter. -type UnstructuredObjectConverter struct{} - -func (UnstructuredObjectConverter) Convert(in, out, context interface{}) error { - unstructIn, ok := in.(*Unstructured) - if !ok { - return fmt.Errorf("input type %T in not valid for unstructured conversion", in) - } - - unstructOut, ok := out.(*Unstructured) - if !ok { - return fmt.Errorf("output type %T in not valid for unstructured conversion", out) - } - - // maybe deep copy the map? It is documented in the - // ObjectConverter interface that this function is not - // guaranteed to not mutate the input. Or maybe set the input - // object to nil. - unstructOut.Object = unstructIn.Object - return nil -} - -func (UnstructuredObjectConverter) ConvertToVersion(in runtime.Object, target runtime.GroupVersioner) (runtime.Object, error) { - if kind := in.GetObjectKind().GroupVersionKind(); !kind.Empty() { - gvk, ok := target.KindForGroupVersionKinds([]schema.GroupVersionKind{kind}) - if !ok { - // TODO: should this be a typed error? - return nil, fmt.Errorf("%v is unstructured and is not suitable for converting to %q", kind, target) - } - in.GetObjectKind().SetGroupVersionKind(gvk) - } - return in, nil -} - -func (UnstructuredObjectConverter) ConvertFieldLabel(version, kind, label, value string) (string, string, error) { - return "", "", errors.New("unstructured cannot convert field labels") -} diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go index 450011f1..59163d77 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/scheme.go @@ -122,7 +122,7 @@ func (s *Scheme) nameFunc(t reflect.Type) string { for _, gvk := range gvks { internalGV := gvk.GroupVersion() - internalGV.Version = "__internal" // this is hacky and maybe should be passed in + internalGV.Version = APIVersionInternal // this is hacky and maybe should be passed in internalGVK := internalGV.WithKind(gvk.Kind) if internalType, exists := s.gvkToType[internalGVK]; exists { diff --git a/vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go b/vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go index 48df6b5d..7716cc42 100644 --- a/vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go +++ b/vendor/k8s.io/apimachinery/pkg/runtime/serializer/versioning/versioning.go @@ -19,6 +19,7 @@ package versioning import ( "io" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) @@ -170,17 +171,22 @@ func (c *codec) Encode(obj runtime.Object, w io.Writer) error { case *runtime.Unknown: return c.encoder.Encode(obj, w) case runtime.Unstructured: - // avoid conversion roundtrip if GVK is the right one already or is empty (yes, this is a hack, but the old behaviour we rely on in kubectl) - objGVK := obj.GetObjectKind().GroupVersionKind() - if len(objGVK.Version) == 0 { - return c.encoder.Encode(obj, w) - } - targetGVK, ok := c.encodeVersion.KindForGroupVersionKinds([]schema.GroupVersionKind{objGVK}) - if !ok { - return runtime.NewNotRegisteredGVKErrForTarget(objGVK, c.encodeVersion) - } - if targetGVK == objGVK { - return c.encoder.Encode(obj, w) + // An unstructured list can contain objects of multiple group version kinds. don't short-circuit just + // because the top-level type matches our desired destination type. actually send the object to the converter + // to give it a chance to convert the list items if needed. + if _, ok := obj.(*unstructured.UnstructuredList); !ok { + // avoid conversion roundtrip if GVK is the right one already or is empty (yes, this is a hack, but the old behaviour we rely on in kubectl) + objGVK := obj.GetObjectKind().GroupVersionKind() + if len(objGVK.Version) == 0 { + return c.encoder.Encode(obj, w) + } + targetGVK, ok := c.encodeVersion.KindForGroupVersionKinds([]schema.GroupVersionKind{objGVK}) + if !ok { + return runtime.NewNotRegisteredGVKErrForTarget(objGVK, c.encodeVersion) + } + if targetGVK == objGVK { + return c.encoder.Encode(obj, w) + } } } diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/types.go b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/types.go index 5c05825f..6fb53cec 100644 --- a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/types.go +++ b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/types.go @@ -57,7 +57,14 @@ type ExecCredentialStatus struct { // +optional ExpirationTimestamp *metav1.Time // Token is a bearer token used by the client for request authentication. + // +optional Token string + // PEM-encoded client TLS certificate. + // +optional + ClientCertificateData string + // PEM-encoded client TLS private key. + // +optional + ClientKeyData string } // Response defines metadata about a failed request, including HTTP status code and diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/types.go b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/types.go index 8920d318..921f3a2b 100644 --- a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/types.go +++ b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/types.go @@ -52,12 +52,20 @@ type ExecCredentialSpec struct { } // ExecCredentialStatus holds credentials for the transport to use. +// +// Token and ClientKeyData are sensitive fields. This data should only be +// transmitted in-memory between client and exec plugin process. Exec plugin +// itself should at least be protected via file permissions. type ExecCredentialStatus struct { // ExpirationTimestamp indicates a time when the provided credentials expire. // +optional ExpirationTimestamp *metav1.Time `json:"expirationTimestamp,omitempty"` // Token is a bearer token used by the client for request authentication. Token string `json:"token,omitempty"` + // PEM-encoded client TLS certificates (including intermediates, if any). + ClientCertificateData string `json:"clientCertificateData,omitempty"` + // PEM-encoded private key for the above certificate. + ClientKeyData string `json:"clientKeyData,omitempty"` } // Response defines metadata about a failed request, including HTTP status code and diff --git a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/zz_generated.conversion.go b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/zz_generated.conversion.go index 032eaf38..9921c7ee 100644 --- a/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/zz_generated.conversion.go +++ b/vendor/k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1/zz_generated.conversion.go @@ -99,6 +99,8 @@ func Convert_clientauthentication_ExecCredentialSpec_To_v1alpha1_ExecCredentialS func autoConvert_v1alpha1_ExecCredentialStatus_To_clientauthentication_ExecCredentialStatus(in *ExecCredentialStatus, out *clientauthentication.ExecCredentialStatus, s conversion.Scope) error { out.ExpirationTimestamp = (*v1.Time)(unsafe.Pointer(in.ExpirationTimestamp)) out.Token = in.Token + out.ClientCertificateData = in.ClientCertificateData + out.ClientKeyData = in.ClientKeyData return nil } @@ -110,6 +112,8 @@ func Convert_v1alpha1_ExecCredentialStatus_To_clientauthentication_ExecCredentia func autoConvert_clientauthentication_ExecCredentialStatus_To_v1alpha1_ExecCredentialStatus(in *clientauthentication.ExecCredentialStatus, out *ExecCredentialStatus, s conversion.Scope) error { out.ExpirationTimestamp = (*v1.Time)(unsafe.Pointer(in.ExpirationTimestamp)) out.Token = in.Token + out.ClientCertificateData = in.ClientCertificateData + out.ClientKeyData = in.ClientKeyData return nil } diff --git a/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go b/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go index dfd434d0..30f61562 100644 --- a/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go +++ b/vendor/k8s.io/client-go/plugin/pkg/client/auth/exec/exec.go @@ -18,11 +18,15 @@ package exec import ( "bytes" + "context" + "crypto/tls" "fmt" "io" + "net" "net/http" "os" "os/exec" + "reflect" "sync" "time" @@ -35,6 +39,8 @@ import ( "k8s.io/client-go/pkg/apis/clientauthentication" "k8s.io/client-go/pkg/apis/clientauthentication/v1alpha1" "k8s.io/client-go/tools/clientcmd/api" + "k8s.io/client-go/transport" + "k8s.io/client-go/util/connrotation" ) const execInfoEnv = "KUBERNETES_EXEC_INFO" @@ -147,14 +153,55 @@ type Authenticator struct { // The mutex also guards calling the plugin. Since the plugin could be // interactive we want to make sure it's only called once. mu sync.Mutex - cachedToken string + cachedCreds *credentials exp time.Time + + onRotate func() } -// WrapTransport instruments an existing http.RoundTripper with credentials returned -// by the plugin. -func (a *Authenticator) WrapTransport(rt http.RoundTripper) http.RoundTripper { - return &roundTripper{a, rt} +type credentials struct { + token string + cert *tls.Certificate +} + +// UpdateTransportConfig updates the transport.Config to use credentials +// returned by the plugin. +func (a *Authenticator) UpdateTransportConfig(c *transport.Config) error { + wt := c.WrapTransport + c.WrapTransport = func(rt http.RoundTripper) http.RoundTripper { + if wt != nil { + rt = wt(rt) + } + return &roundTripper{a, rt} + } + + getCert := c.TLS.GetCert + c.TLS.GetCert = func() (*tls.Certificate, error) { + // If previous GetCert is present and returns a valid non-nil + // certificate, use that. Otherwise use cert from exec plugin. + if getCert != nil { + cert, err := getCert() + if err != nil { + return nil, err + } + if cert != nil { + return cert, nil + } + } + return a.cert() + } + + var dial func(ctx context.Context, network, addr string) (net.Conn, error) + if c.Dial != nil { + dial = c.Dial + } else { + dial = (&net.Dialer{Timeout: 30 * time.Second, KeepAlive: 30 * time.Second}).DialContext + } + d := connrotation.NewDialer(dial) + a.onRotate = d.CloseAll + c.Dial = d.DialContext + + return nil } type roundTripper struct { @@ -169,11 +216,13 @@ func (r *roundTripper) RoundTrip(req *http.Request) (*http.Response, error) { return r.base.RoundTrip(req) } - token, err := r.a.token() + creds, err := r.a.getCreds() if err != nil { - return nil, fmt.Errorf("getting token: %v", err) + return nil, fmt.Errorf("getting credentials: %v", err) + } + if creds.token != "" { + req.Header.Set("Authorization", "Bearer "+creds.token) } - req.Header.Set("Authorization", "Bearer "+token) res, err := r.base.RoundTrip(req) if err != nil { @@ -184,47 +233,60 @@ func (r *roundTripper) RoundTrip(req *http.Request) (*http.Response, error) { Header: res.Header, Code: int32(res.StatusCode), } - if err := r.a.refresh(token, resp); err != nil { - glog.Errorf("refreshing token: %v", err) + if err := r.a.maybeRefreshCreds(creds, resp); err != nil { + glog.Errorf("refreshing credentials: %v", err) } } return res, nil } -func (a *Authenticator) tokenExpired() bool { +func (a *Authenticator) credsExpired() bool { if a.exp.IsZero() { return false } return a.now().After(a.exp) } -func (a *Authenticator) token() (string, error) { - a.mu.Lock() - defer a.mu.Unlock() - if a.cachedToken != "" && !a.tokenExpired() { - return a.cachedToken, nil +func (a *Authenticator) cert() (*tls.Certificate, error) { + creds, err := a.getCreds() + if err != nil { + return nil, err } - - return a.getToken(nil) + return creds.cert, nil } -// refresh executes the plugin to force a rotation of the token. -func (a *Authenticator) refresh(token string, r *clientauthentication.Response) error { +func (a *Authenticator) getCreds() (*credentials, error) { + a.mu.Lock() + defer a.mu.Unlock() + if a.cachedCreds != nil && !a.credsExpired() { + return a.cachedCreds, nil + } + + if err := a.refreshCredsLocked(nil); err != nil { + return nil, err + } + return a.cachedCreds, nil +} + +// maybeRefreshCreds executes the plugin to force a rotation of the +// credentials, unless they were rotated already. +func (a *Authenticator) maybeRefreshCreds(creds *credentials, r *clientauthentication.Response) error { a.mu.Lock() defer a.mu.Unlock() - if token != a.cachedToken { - // Token already rotated. + // Since we're not making a new pointer to a.cachedCreds in getCreds, no + // need to do deep comparison. + if creds != a.cachedCreds { + // Credentials already rotated. return nil } - _, err := a.getToken(r) - return err + return a.refreshCredsLocked(r) } -// getToken executes the plugin and reads the credentials from stdout. It must be -// called while holding the Authenticator's mutex. -func (a *Authenticator) getToken(r *clientauthentication.Response) (string, error) { +// refreshCredsLocked executes the plugin and reads the credentials from +// stdout. It must be called while holding the Authenticator's mutex. +func (a *Authenticator) refreshCredsLocked(r *clientauthentication.Response) error { cred := &clientauthentication.ExecCredential{ Spec: clientauthentication.ExecCredentialSpec{ Response: r, @@ -234,7 +296,7 @@ func (a *Authenticator) getToken(r *clientauthentication.Response) (string, erro data, err := runtime.Encode(codecs.LegacyCodec(a.group), cred) if err != nil { - return "", fmt.Errorf("encode ExecCredentials: %v", err) + return fmt.Errorf("encode ExecCredentials: %v", err) } env := append(a.environ(), a.env...) @@ -250,23 +312,26 @@ func (a *Authenticator) getToken(r *clientauthentication.Response) (string, erro } if err := cmd.Run(); err != nil { - return "", fmt.Errorf("exec: %v", err) + return fmt.Errorf("exec: %v", err) } _, gvk, err := codecs.UniversalDecoder(a.group).Decode(stdout.Bytes(), nil, cred) if err != nil { - return "", fmt.Errorf("decode stdout: %v", err) + return fmt.Errorf("decoding stdout: %v", err) } if gvk.Group != a.group.Group || gvk.Version != a.group.Version { - return "", fmt.Errorf("exec plugin is configured to use API version %s, plugin returned version %s", + return fmt.Errorf("exec plugin is configured to use API version %s, plugin returned version %s", a.group, schema.GroupVersion{Group: gvk.Group, Version: gvk.Version}) } if cred.Status == nil { - return "", fmt.Errorf("exec plugin didn't return a status field") + return fmt.Errorf("exec plugin didn't return a status field") } - if cred.Status.Token == "" { - return "", fmt.Errorf("exec plugin didn't return a token") + if cred.Status.Token == "" && cred.Status.ClientCertificateData == "" && cred.Status.ClientKeyData == "" { + return fmt.Errorf("exec plugin didn't return a token or cert/key pair") + } + if (cred.Status.ClientCertificateData == "") != (cred.Status.ClientKeyData == "") { + return fmt.Errorf("exec plugin returned only certificate or key, not both") } if cred.Status.ExpirationTimestamp != nil { @@ -274,7 +339,24 @@ func (a *Authenticator) getToken(r *clientauthentication.Response) (string, erro } else { a.exp = time.Time{} } - a.cachedToken = cred.Status.Token - return a.cachedToken, nil + newCreds := &credentials{ + token: cred.Status.Token, + } + if cred.Status.ClientKeyData != "" && cred.Status.ClientCertificateData != "" { + cert, err := tls.X509KeyPair([]byte(cred.Status.ClientCertificateData), []byte(cred.Status.ClientKeyData)) + if err != nil { + return fmt.Errorf("failed parsing client key/certificate: %v", err) + } + newCreds.cert = &cert + } + + oldCreds := a.cachedCreds + a.cachedCreds = newCreds + // Only close all connections when TLS cert rotates. Token rotation doesn't + // need the extra noise. + if a.onRotate != nil && oldCreds != nil && !reflect.DeepEqual(oldCreds.cert, a.cachedCreds.cert) { + a.onRotate() + } + return nil } diff --git a/vendor/k8s.io/client-go/rest/transport.go b/vendor/k8s.io/client-go/rest/transport.go index b6a06763..7f01823d 100644 --- a/vendor/k8s.io/client-go/rest/transport.go +++ b/vendor/k8s.io/client-go/rest/transport.go @@ -59,39 +59,10 @@ func HTTPWrappersForConfig(config *Config, rt http.RoundTripper) (http.RoundTrip // TransportConfig converts a client config to an appropriate transport config. func (c *Config) TransportConfig() (*transport.Config, error) { - wt := c.WrapTransport - if c.ExecProvider != nil { - provider, err := exec.GetAuthenticator(c.ExecProvider) - if err != nil { - return nil, err - } - if wt != nil { - previousWT := wt - wt = func(rt http.RoundTripper) http.RoundTripper { - return provider.WrapTransport(previousWT(rt)) - } - } else { - wt = provider.WrapTransport - } - } - if c.AuthProvider != nil { - provider, err := GetAuthProvider(c.Host, c.AuthProvider, c.AuthConfigPersister) - if err != nil { - return nil, err - } - if wt != nil { - previousWT := wt - wt = func(rt http.RoundTripper) http.RoundTripper { - return provider.WrapTransport(previousWT(rt)) - } - } else { - wt = provider.WrapTransport - } - } - return &transport.Config{ + conf := &transport.Config{ UserAgent: c.UserAgent, Transport: c.Transport, - WrapTransport: wt, + WrapTransport: c.WrapTransport, TLS: transport.TLSConfig{ Insecure: c.Insecure, ServerName: c.ServerName, @@ -111,5 +82,29 @@ func (c *Config) TransportConfig() (*transport.Config, error) { Extra: c.Impersonate.Extra, }, Dial: c.Dial, - }, nil + } + if c.ExecProvider != nil { + provider, err := exec.GetAuthenticator(c.ExecProvider) + if err != nil { + return nil, err + } + if err := provider.UpdateTransportConfig(conf); err != nil { + return nil, err + } + } + if c.AuthProvider != nil { + provider, err := GetAuthProvider(c.Host, c.AuthProvider, c.AuthConfigPersister) + if err != nil { + return nil, err + } + wt := conf.WrapTransport + if wt != nil { + conf.WrapTransport = func(rt http.RoundTripper) http.RoundTripper { + return provider.WrapTransport(wt(rt)) + } + } else { + conf.WrapTransport = provider.WrapTransport + } + } + return conf, nil } diff --git a/vendor/k8s.io/client-go/testing/fixture.go b/vendor/k8s.io/client-go/testing/fixture.go index 13192f92..00c4c49f 100644 --- a/vendor/k8s.io/client-go/testing/fixture.go +++ b/vendor/k8s.io/client-go/testing/fixture.go @@ -25,6 +25,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/json" + "k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" ) @@ -72,7 +74,6 @@ func ObjectReaction(tracker ObjectTracker) ReactionFunc { return func(action Action) (bool, runtime.Object, error) { ns := action.GetNamespace() gvr := action.GetResource() - // Here and below we need to switch on implementation types, // not on interfaces, as some interfaces are identical // (e.g. UpdateAction and CreateAction), so if we use them, @@ -125,6 +126,34 @@ func ObjectReaction(tracker ObjectTracker) ReactionFunc { } return true, nil, nil + case PatchActionImpl: + obj, err := tracker.Get(gvr, ns, action.GetName()) + if err != nil { + // object is not registered + return false, nil, err + } + + old, err := json.Marshal(obj) + if err != nil { + return true, nil, err + } + // Only supports strategic merge patch + // TODO: Add support for other Patch types + mergedByte, err := strategicpatch.StrategicMergePatch(old, action.GetPatch(), obj) + if err != nil { + return true, nil, err + } + + if err = json.Unmarshal(mergedByte, obj); err != nil { + return true, nil, err + } + + if err = tracker.Update(gvr, obj, ns); err != nil { + return true, nil, err + } + + return true, obj, nil + default: return false, nil, fmt.Errorf("no reaction implemented for %s", action) } diff --git a/vendor/k8s.io/client-go/tools/record/event.go b/vendor/k8s.io/client-go/tools/record/event.go index cc665d74..168dfa80 100644 --- a/vendor/k8s.io/client-go/tools/record/event.go +++ b/vendor/k8s.io/client-go/tools/record/event.go @@ -72,6 +72,9 @@ type EventRecorder interface { // PastEventf is just like Eventf, but with an option to specify the event's 'timestamp' field. PastEventf(object runtime.Object, timestamp metav1.Time, eventtype, reason, messageFmt string, args ...interface{}) + + // AnnotatedEventf is just like eventf, but with annotations attached + AnnotatedEventf(object runtime.Object, annotations map[string]string, eventtype, reason, messageFmt string, args ...interface{}) } // EventBroadcaster knows how to receive events and send them to any EventSink, watcher, or log. @@ -250,7 +253,7 @@ type recorderImpl struct { clock clock.Clock } -func (recorder *recorderImpl) generateEvent(object runtime.Object, timestamp metav1.Time, eventtype, reason, message string) { +func (recorder *recorderImpl) generateEvent(object runtime.Object, annotations map[string]string, timestamp metav1.Time, eventtype, reason, message string) { ref, err := ref.GetReference(recorder.scheme, object) if err != nil { glog.Errorf("Could not construct reference to: '%#v' due to: '%v'. Will not report event: '%v' '%v' '%v'", object, err, eventtype, reason, message) @@ -262,7 +265,7 @@ func (recorder *recorderImpl) generateEvent(object runtime.Object, timestamp met return } - event := recorder.makeEvent(ref, eventtype, reason, message) + event := recorder.makeEvent(ref, annotations, eventtype, reason, message) event.Source = recorder.source go func() { @@ -281,7 +284,7 @@ func validateEventType(eventtype string) bool { } func (recorder *recorderImpl) Event(object runtime.Object, eventtype, reason, message string) { - recorder.generateEvent(object, metav1.Now(), eventtype, reason, message) + recorder.generateEvent(object, nil, metav1.Now(), eventtype, reason, message) } func (recorder *recorderImpl) Eventf(object runtime.Object, eventtype, reason, messageFmt string, args ...interface{}) { @@ -289,10 +292,14 @@ func (recorder *recorderImpl) Eventf(object runtime.Object, eventtype, reason, m } func (recorder *recorderImpl) PastEventf(object runtime.Object, timestamp metav1.Time, eventtype, reason, messageFmt string, args ...interface{}) { - recorder.generateEvent(object, timestamp, eventtype, reason, fmt.Sprintf(messageFmt, args...)) + recorder.generateEvent(object, nil, timestamp, eventtype, reason, fmt.Sprintf(messageFmt, args...)) } -func (recorder *recorderImpl) makeEvent(ref *v1.ObjectReference, eventtype, reason, message string) *v1.Event { +func (recorder *recorderImpl) AnnotatedEventf(object runtime.Object, annotations map[string]string, eventtype, reason, messageFmt string, args ...interface{}) { + recorder.generateEvent(object, annotations, metav1.Now(), eventtype, reason, fmt.Sprintf(messageFmt, args...)) +} + +func (recorder *recorderImpl) makeEvent(ref *v1.ObjectReference, annotations map[string]string, eventtype, reason, message string) *v1.Event { t := metav1.Time{Time: recorder.clock.Now()} namespace := ref.Namespace if namespace == "" { @@ -300,8 +307,9 @@ func (recorder *recorderImpl) makeEvent(ref *v1.ObjectReference, eventtype, reas } return &v1.Event{ ObjectMeta: metav1.ObjectMeta{ - Name: fmt.Sprintf("%v.%x", ref.Name, t.UnixNano()), - Namespace: namespace, + Name: fmt.Sprintf("%v.%x", ref.Name, t.UnixNano()), + Namespace: namespace, + Annotations: annotations, }, InvolvedObject: *ref, Reason: reason, diff --git a/vendor/k8s.io/client-go/tools/record/fake.go b/vendor/k8s.io/client-go/tools/record/fake.go index c0e8eedb..6e031daa 100644 --- a/vendor/k8s.io/client-go/tools/record/fake.go +++ b/vendor/k8s.io/client-go/tools/record/fake.go @@ -45,6 +45,10 @@ func (f *FakeRecorder) Eventf(object runtime.Object, eventtype, reason, messageF func (f *FakeRecorder) PastEventf(object runtime.Object, timestamp metav1.Time, eventtype, reason, messageFmt string, args ...interface{}) { } +func (f *FakeRecorder) AnnotatedEventf(object runtime.Object, annotations map[string]string, eventtype, reason, messageFmt string, args ...interface{}) { + f.Eventf(object, eventtype, reason, messageFmt, args) +} + // NewFakeRecorder creates new fake event recorder with event channel with // buffer of given size. func NewFakeRecorder(bufferSize int) *FakeRecorder { diff --git a/vendor/k8s.io/client-go/transport/cache.go b/vendor/k8s.io/client-go/transport/cache.go index 540af849..7cffe2a5 100644 --- a/vendor/k8s.io/client-go/transport/cache.go +++ b/vendor/k8s.io/client-go/transport/cache.go @@ -43,6 +43,7 @@ type tlsCacheKey struct { caData string certData string keyData string + getCert string serverName string dial string } @@ -52,7 +53,7 @@ func (t tlsCacheKey) String() string { if len(t.keyData) > 0 { keyText = "" } - return fmt.Sprintf("insecure:%v, caData:%#v, certData:%#v, keyData:%s, serverName:%s, dial:%s", t.insecure, t.caData, t.certData, keyText, t.serverName, t.dial) + return fmt.Sprintf("insecure:%v, caData:%#v, certData:%#v, keyData:%s, getCert: %s, serverName:%s, dial:%s", t.insecure, t.caData, t.certData, keyText, t.getCert, t.serverName, t.dial) } func (c *tlsTransportCache) get(config *Config) (http.RoundTripper, error) { @@ -109,6 +110,7 @@ func tlsConfigKey(c *Config) (tlsCacheKey, error) { caData: string(c.TLS.CAData), certData: string(c.TLS.CertData), keyData: string(c.TLS.KeyData), + getCert: fmt.Sprintf("%p", c.TLS.GetCert), serverName: c.TLS.ServerName, dial: fmt.Sprintf("%p", c.Dial), }, nil diff --git a/vendor/k8s.io/client-go/transport/config.go b/vendor/k8s.io/client-go/transport/config.go index 90f705d2..4081c23e 100644 --- a/vendor/k8s.io/client-go/transport/config.go +++ b/vendor/k8s.io/client-go/transport/config.go @@ -18,6 +18,7 @@ package transport import ( "context" + "crypto/tls" "net" "net/http" ) @@ -84,7 +85,12 @@ func (c *Config) HasTokenAuth() bool { // HasCertAuth returns whether the configuration has certificate authentication or not. func (c *Config) HasCertAuth() bool { - return len(c.TLS.CertData) != 0 || len(c.TLS.CertFile) != 0 + return (len(c.TLS.CertData) != 0 || len(c.TLS.CertFile) != 0) && (len(c.TLS.KeyData) != 0 || len(c.TLS.KeyFile) != 0) +} + +// HasCertCallbacks returns whether the configuration has certificate callback or not. +func (c *Config) HasCertCallback() bool { + return c.TLS.GetCert != nil } // TLSConfig holds the information needed to set up a TLS transport. @@ -99,4 +105,6 @@ type TLSConfig struct { CAData []byte // Bytes of the PEM-encoded server trusted root certificates. Supercedes CAFile. CertData []byte // Bytes of the PEM-encoded client certificate. Supercedes CertFile. KeyData []byte // Bytes of the PEM-encoded client key. Supercedes KeyFile. + + GetCert func() (*tls.Certificate, error) // Callback that returns a TLS client certificate. CertData, CertFile, KeyData and KeyFile supercede this field. } diff --git a/vendor/k8s.io/client-go/transport/transport.go b/vendor/k8s.io/client-go/transport/transport.go index c2bb7ae5..c19739fd 100644 --- a/vendor/k8s.io/client-go/transport/transport.go +++ b/vendor/k8s.io/client-go/transport/transport.go @@ -28,7 +28,7 @@ import ( // or transport level security defined by the provided Config. func New(config *Config) (http.RoundTripper, error) { // Set transport level security - if config.Transport != nil && (config.HasCA() || config.HasCertAuth() || config.TLS.Insecure) { + if config.Transport != nil && (config.HasCA() || config.HasCertAuth() || config.HasCertCallback() || config.TLS.Insecure) { return nil, fmt.Errorf("using a custom transport with TLS certificate options or the insecure flag is not allowed") } @@ -52,7 +52,7 @@ func New(config *Config) (http.RoundTripper, error) { // TLSConfigFor returns a tls.Config that will provide the transport level security defined // by the provided Config. Will return nil if no transport level security is requested. func TLSConfigFor(c *Config) (*tls.Config, error) { - if !(c.HasCA() || c.HasCertAuth() || c.TLS.Insecure || len(c.TLS.ServerName) > 0) { + if !(c.HasCA() || c.HasCertAuth() || c.HasCertCallback() || c.TLS.Insecure || len(c.TLS.ServerName) > 0) { return nil, nil } if c.HasCA() && c.TLS.Insecure { @@ -75,12 +75,40 @@ func TLSConfigFor(c *Config) (*tls.Config, error) { tlsConfig.RootCAs = rootCertPool(c.TLS.CAData) } + var staticCert *tls.Certificate if c.HasCertAuth() { + // If key/cert were provided, verify them before setting up + // tlsConfig.GetClientCertificate. cert, err := tls.X509KeyPair(c.TLS.CertData, c.TLS.KeyData) if err != nil { return nil, err } - tlsConfig.Certificates = []tls.Certificate{cert} + staticCert = &cert + } + + if c.HasCertAuth() || c.HasCertCallback() { + tlsConfig.GetClientCertificate = func(*tls.CertificateRequestInfo) (*tls.Certificate, error) { + // Note: static key/cert data always take precedence over cert + // callback. + if staticCert != nil { + return staticCert, nil + } + if c.HasCertCallback() { + cert, err := c.TLS.GetCert() + if err != nil { + return nil, err + } + // GetCert may return empty value, meaning no cert. + if cert != nil { + return cert, nil + } + } + + // Both c.TLS.CertData/KeyData were unset and GetCert didn't return + // anything. Return an empty tls.Certificate, no client cert will + // be sent to the server. + return &tls.Certificate{}, nil + } } return tlsConfig, nil diff --git a/vendor/k8s.io/client-go/util/connrotation/connrotation.go b/vendor/k8s.io/client-go/util/connrotation/connrotation.go new file mode 100644 index 00000000..235a9e01 --- /dev/null +++ b/vendor/k8s.io/client-go/util/connrotation/connrotation.go @@ -0,0 +1,105 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package connrotation implements a connection dialer that tracks and can close +// all created connections. +// +// This is used for credential rotation of long-lived connections, when there's +// no way to re-authenticate on a live connection. +package connrotation + +import ( + "context" + "net" + "sync" +) + +// DialFunc is a shorthand for signature of net.DialContext. +type DialFunc func(ctx context.Context, network, address string) (net.Conn, error) + +// Dialer opens connections through Dial and tracks them. +type Dialer struct { + dial DialFunc + + mu sync.Mutex + conns map[*closableConn]struct{} +} + +// NewDialer creates a new Dialer instance. +// +// If dial is not nil, it will be used to create new underlying connections. +// Otherwise net.DialContext is used. +func NewDialer(dial DialFunc) *Dialer { + return &Dialer{ + dial: dial, + conns: make(map[*closableConn]struct{}), + } +} + +// CloseAll forcibly closes all tracked connections. +// +// Note: new connections may get created before CloseAll returns. +func (d *Dialer) CloseAll() { + d.mu.Lock() + conns := d.conns + d.conns = make(map[*closableConn]struct{}) + d.mu.Unlock() + + for conn := range conns { + conn.Close() + } +} + +// Dial creates a new tracked connection. +func (d *Dialer) Dial(network, address string) (net.Conn, error) { + return d.DialContext(context.Background(), network, address) +} + +// DialContext creates a new tracked connection. +func (d *Dialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) { + conn, err := d.dial(ctx, network, address) + if err != nil { + return nil, err + } + + closable := &closableConn{Conn: conn} + + // Start tracking the connection + d.mu.Lock() + d.conns[closable] = struct{}{} + d.mu.Unlock() + + // When the connection is closed, remove it from the map. This will + // be no-op if the connection isn't in the map, e.g. if CloseAll() + // is called. + closable.onClose = func() { + d.mu.Lock() + delete(d.conns, closable) + d.mu.Unlock() + } + + return closable, nil +} + +type closableConn struct { + onClose func() + net.Conn +} + +func (c *closableConn) Close() error { + go c.onClose() + return c.Conn.Close() +} diff --git a/vendor/k8s.io/code-generator/Godeps/Godeps.json b/vendor/k8s.io/code-generator/Godeps/Godeps.json index 52d8085c..ac985174 100644 --- a/vendor/k8s.io/code-generator/Godeps/Godeps.json +++ b/vendor/k8s.io/code-generator/Godeps/Godeps.json @@ -260,11 +260,11 @@ }, { "ImportPath": "k8s.io/kube-openapi/pkg/common", - "Rev": "61db125d227fc9d4e373819a059516f32f7f23c7" + "Rev": "86e28c192d2743f0232b9bc5f0a531568ef9f2a5" }, { "ImportPath": "k8s.io/kube-openapi/pkg/generators", - "Rev": "61db125d227fc9d4e373819a059516f32f7f23c7" + "Rev": "86e28c192d2743f0232b9bc5f0a531568ef9f2a5" } ] } diff --git a/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/extension.go b/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/extension.go index 7f360240..befe38db 100644 --- a/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/extension.go +++ b/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/extension.go @@ -27,18 +27,33 @@ import ( const extensionPrefix = "x-kubernetes-" -// Extension tag to openapi extension -var tagToExtension = map[string]string{ - "patchMergeKey": "x-kubernetes-patch-merge-key", - "patchStrategy": "x-kubernetes-patch-strategy", - "listType": "x-kubernetes-list-type", - "listMapKey": "x-kubernetes-list-map-keys", +// extensionAttributes encapsulates common traits for particular extensions. +type extensionAttributes struct { + xName string + kind types.Kind + allowedValues sets.String } -// Enum values per extension -var allowedExtensionValues = map[string]sets.String{ - "x-kubernetes-patch-strategy": sets.NewString("merge", "retainKeys"), - "x-kubernetes-list-type": sets.NewString("atomic", "set", "map"), +// Extension tag to openapi extension attributes +var tagToExtension = map[string]extensionAttributes{ + "patchMergeKey": extensionAttributes{ + xName: "x-kubernetes-patch-merge-key", + kind: types.Slice, + }, + "patchStrategy": extensionAttributes{ + xName: "x-kubernetes-patch-strategy", + kind: types.Slice, + allowedValues: sets.NewString("merge", "retainKeys"), + }, + "listMapKey": extensionAttributes{ + xName: "x-kubernetes-list-map-keys", + kind: types.Slice, + }, + "listType": extensionAttributes{ + xName: "x-kubernetes-list-type", + kind: types.Slice, + allowedValues: sets.NewString("atomic", "set", "map"), + }, } // Extension encapsulates information necessary to generate an OpenAPI extension. @@ -48,10 +63,25 @@ type extension struct { values []string // Example: [atomic] } +func (e extension) hasAllowedValues() bool { + return tagToExtension[e.idlTag].allowedValues.Len() > 0 +} + +func (e extension) allowedValues() sets.String { + return tagToExtension[e.idlTag].allowedValues +} + +func (e extension) hasKind() bool { + return len(tagToExtension[e.idlTag].kind) > 0 +} + +func (e extension) kind() types.Kind { + return tagToExtension[e.idlTag].kind +} + func (e extension) validateAllowedValues() error { // allowedValues not set means no restrictions on values. - allowedValues, exists := allowedExtensionValues[e.xName] - if !exists { + if !e.hasAllowedValues() { return nil } // Check for missing value. @@ -59,6 +89,7 @@ func (e extension) validateAllowedValues() error { return fmt.Errorf("%s needs a value, none given.", e.idlTag) } // For each extension value, validate that it is allowed. + allowedValues := e.allowedValues() if !allowedValues.HasAll(e.values...) { return fmt.Errorf("%v not allowed for %s. Allowed values: %v", e.values, e.idlTag, allowedValues.List()) @@ -66,6 +97,18 @@ func (e extension) validateAllowedValues() error { return nil } +func (e extension) validateType(kind types.Kind) error { + // If this extension class has no kind, then don't validate the type. + if !e.hasKind() { + return nil + } + if kind != e.kind() { + return fmt.Errorf("tag %s on type %v; only allowed on type %v", + e.idlTag, kind, e.kind()) + } + return nil +} + func (e extension) hasMultipleValues() bool { return len(e.values) > 1 } @@ -82,7 +125,9 @@ func sortedMapKeys(m map[string][]string) []string { return keys } -// Parses comments to return openapi extensions. +// Parses comments to return openapi extensions. Returns a list of +// extensions which parsed correctly, as well as a list of the +// parse errors. Validating extensions is performed separately. // NOTE: Non-empty errors does not mean extensions is empty. func parseExtensions(comments []string) ([]extension, []error) { extensions := []extension{} @@ -108,21 +153,30 @@ func parseExtensions(comments []string) ([]extension, []error) { // Next, generate extensions from "idlTags" (e.g. +listType) tagValues := types.ExtractCommentTags("+", comments) for _, idlTag := range sortedMapKeys(tagValues) { - xName, exists := tagToExtension[idlTag] + xAttrs, exists := tagToExtension[idlTag] if !exists { continue } values := tagValues[idlTag] e := extension{ - idlTag: idlTag, // listType - xName: xName, // x-kubernetes-list-type - values: values, // [atomic] - } - if err := e.validateAllowedValues(); err != nil { - // For now, only log the extension validation errors. - errors = append(errors, err) + idlTag: idlTag, // listType + xName: xAttrs.xName, // x-kubernetes-list-type + values: values, // [atomic] } extensions = append(extensions, e) } return extensions, errors } + +func validateMemberExtensions(extensions []extension, m *types.Member) []error { + errors := []error{} + for _, e := range extensions { + if err := e.validateAllowedValues(); err != nil { + errors = append(errors, err) + } + if err := e.validateType(m.Type.Kind); err != nil { + errors = append(errors, err) + } + } + return errors +} diff --git a/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go b/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go index deeac757..13e1e098 100644 --- a/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go +++ b/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go @@ -432,7 +432,7 @@ func (g openAPITypeWriter) generateStructExtensions(t *types.Type) error { extensions, errors := parseExtensions(t.CommentLines) // Initially, we will only log struct extension errors. if len(errors) > 0 { - for e := range errors { + for _, e := range errors { glog.V(2).Infof("[%s]: %s\n", t.String(), e) } } @@ -442,17 +442,16 @@ func (g openAPITypeWriter) generateStructExtensions(t *types.Type) error { } func (g openAPITypeWriter) generateMemberExtensions(m *types.Member, parent *types.Type) error { - extensions, errors := parseExtensions(m.CommentLines) + extensions, parseErrors := parseExtensions(m.CommentLines) + validationErrors := validateMemberExtensions(extensions, m) + errors := append(parseErrors, validationErrors...) // Initially, we will only log member extension errors. if len(errors) > 0 { errorPrefix := fmt.Sprintf("[%s] %s:", parent.String(), m.String()) - for e := range errors { + for _, e := range errors { glog.V(2).Infof("%s %s\n", errorPrefix, e) } } - // TODO(seans3): Validate member extensions here. - // Example: listType extension is only on a Slice. - // Example: cross-extension validation - listMapKey only makes sense with listType=map g.emitExtensions(extensions) return nil }