// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file was exported from google3, do not edit manually.
// See README.chromium for details.

edition = "2023";

option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.variations";

package variations;

import "components/variations/proto/layer.proto";
import "components/variations/proto/study.proto";
import "google/protobuf/cpp_features.proto";

option features.(pb.cpp).string_type = VIEW;
option features.utf8_validation = NONE;

// The VariationsSeed is a protobuf response from the server that contains the
// list of studies, layer definitions and a serial number to uniquely identify
// its contents. The serial number allows the client to easily determine if the
// list of experiments has changed from the previous VariationsSeed seen by the
// client.
//
// Next tag: 7
message VariationsSeed {
  string serial_number = 1;
  repeated Study study = 2;

  // Lowercase ISO 3166-1 alpha-2 country code of the client, according to IP
  // address. Deprecated.
  string country_code = 3 [deprecated = true];

  // A version string which identifies the version of the configuration files
  // that this seed was generated from. Typically an YYYYMMDD-HHMMSS.micros
  // format timestamp of the seed build time (see go/finch/config-history.md)
  string version = 4;

  // Previous implementation of layers. Do not re-use.
  reserved 5;

  // A list of layers where each study can optionally be part of one, with
  // clients ensuring that only one study per layer is enabled.
  // Supported from Chrome M109.
  repeated Layer layers = 6;
}
