sig
  module RuleResults :
    sig
      module UrlBlocks :
        sig
          module Urls :
            sig
              module Result :
                sig
                  module Args :
                    sig
                      type t = { _type : string; value : string; }
                      val _type :
                        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t,
                         string)
                        GapiLens.t
                      val value :
                        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t,
                         string)
                        GapiLens.t
                      val empty :
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
                      val render :
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t ->
                        GapiJson.json_data_model list
                      val parse :
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t ->
                        GapiJson.json_data_model ->
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
                    end
                  type t = {
                    args :
                      GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
                      list;
                    format : string;
                  }
                  val args :
                    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t,
                     GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
                     list)
                    GapiLens.t
                  val format :
                    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t
                  val render :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t ->
                    GapiJson.json_data_model ->
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t
                end
              module Details :
                sig
                  module Args :
                    sig
                      type t = { _type : string; value : string; }
                      val _type :
                        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t,
                         string)
                        GapiLens.t
                      val value :
                        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t,
                         string)
                        GapiLens.t
                      val empty :
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
                      val render :
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t ->
                        GapiJson.json_data_model list
                      val parse :
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t ->
                        GapiJson.json_data_model ->
                        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
                    end
                  type t = {
                    args :
                      GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
                      list;
                    format : string;
                  }
                  val args :
                    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t,
                     GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
                     list)
                    GapiLens.t
                  val format :
                    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
                  val render :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t ->
                    GapiJson.json_data_model ->
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
                end
              type t = {
                details :
                  GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
                  list;
                result :
                  GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t;
              }
              val details :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t,
                 GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
                 list)
                GapiLens.t
              val result :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t,
                 GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t)
                GapiLens.t
              val empty :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
              val render :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t ->
                GapiJson.json_data_model ->
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
            end
          module Header :
            sig
              module Args :
                sig
                  type t = { _type : string; value : string; }
                  val _type :
                    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t,
                     string)
                    GapiLens.t
                  val value :
                    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t,
                     string)
                    GapiLens.t
                  val empty :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
                  val render :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t ->
                    GapiJson.json_data_model list
                  val parse :
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t ->
                    GapiJson.json_data_model ->
                    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
                end
              type t = {
                args :
                  GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
                  list;
                format : string;
              }
              val args :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t,
                 GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
                 list)
                GapiLens.t
              val format :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t,
                 string)
                GapiLens.t
              val empty :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t
              val render :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t ->
                GapiJson.json_data_model ->
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t
            end
          type t = {
            header :
              GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t;
            urls :
              GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
              list;
          }
          val header :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t,
             GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t)
            GapiLens.t
          val urls :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t,
             GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
             list)
            GapiLens.t
          val empty :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
          val render :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t ->
            GapiJson.json_data_model ->
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
        end
      type t = {
        localizedRuleName : string;
        ruleImpact : float;
        urlBlocks :
          GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
          list;
      }
      val localizedRuleName :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t,
         string)
        GapiLens.t
      val ruleImpact :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t,
         float)
        GapiLens.t
      val urlBlocks :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t,
         GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
         list)
        GapiLens.t
      val empty :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t
      val render :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t ->
        GapiJson.json_data_model ->
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t
    end
  type t = {
    locale : string;
    ruleResults :
      (string *
       GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t)
      list;
  }
  val locale :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.t, string) GapiLens.t
  val ruleResults :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.t,
     (string *
      GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t)
     list)
    GapiLens.t
  val empty : GapiPagespeedonlineV1Model.Result.FormattedResults.t
  val render :
    GapiPagespeedonlineV1Model.Result.FormattedResults.t ->
    GapiJson.json_data_model list
  val parse :
    GapiPagespeedonlineV1Model.Result.FormattedResults.t ->
    GapiJson.json_data_model ->
    GapiPagespeedonlineV1Model.Result.FormattedResults.t
end