hunk.code_window: 		if *license.Features.Office365OAuth {
   			props["EnableSignUpWithOffice365"] = strconv.FormatBool(c.Office365Settings.Enable)
   		}
   	}
   	return props
  
hunk.labels: keep keep add keep keep keep
hunk.after_edit: 		if *license.Features.CustomTermsOfService {
   			props["EnableCustomTermsOfService"] = strconv.FormatBool(*c.SupportSettings.CustomTermsOfServiceEnabled)
   			props["CustomTermsOfServiceReAcceptancePeriod"] = strconv.FormatInt(int64(*c.SupportSettings.CustomTermsOfServiceReAcceptancePeriod), 10)
   		}
  
hunk.file_path: utils/config.go
hunk.type: add
file: // Copyright 2018 The Prometheus 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 prometheus
  
  import (
  	"errors"
  	"fmt"
  	"strings"
  	"unicode/utf8"
  
  	"github.com/prometheus/common/model"
  )
  
  // Labels represents a collection of label name -> value mappings. This type is
  // commonly used with the With(Labels) and GetMetricWith(Labels) methods of
  // metric vector Collectors, e.g.:
  //     myVec.With(Labels{"code": "404", "method": "GET"}).Add(42)
  //
  // The other use-case is the specification of constant label pairs in Opts or to
  // create a Desc.
  type Labels map[string]string
  
  // reservedLabelPrefix is a prefix which is not legal in user-supplied
  // label names.
  const reservedLabelPrefix = "__"
  
  var errInconsistentCardinality = errors.New("inconsistent label cardinality")
  
  func makeInconsistentCardinalityError(fqName string, labels, labelValues []string) error {
  	return fmt.Errorf(
  		"%s: %q has %d variable labels named %q but %d values %q were provided",
  		errInconsistentCardinality, fqName,
  		len(labels), labels,
  		len(labelValues), labelValues,
  	)
  }
  
  func validateValuesInLabels(labels Labels, expectedNumberOfValues int) error {
  	if len(labels) != expectedNumberOfValues {
  		return fmt.Errorf(
  			"%s: expected %d label values but got %d in %#v",
  			errInconsistentCardinality, expectedNumberOfValues,
  			len(labels), labels,
  		)
  	}
  
  	for name, val := range labels {
  		if !utf8.ValidString(val) {
  			return fmt.Errorf("label %s: value %q is not valid UTF-8", name, val)
  		}
  	}
  
  	return nil
  }
  
  func validateLabelValues(vals []string, expectedNumberOfValues int) error {
  	if len(vals) != expectedNumberOfValues {
  		return fmt.Errorf(
  			"%s: expected %d label values but got %d in %#v",
  			errInconsistentCardinality, expectedNumberOfValues,
  			len(vals), vals,
  		)
  	}
  
  	for _, val := range vals {
  		if !utf8.ValidString(val) {
  			return fmt.Errorf("label value %q is not valid UTF-8", val)
  		}
  	}
  
  	return nil
  }
  
  func checkLabelName(l string) bool {
  	return model.LabelName(l).IsValid() && !strings.HasPrefix(l, reservedLabelPrefix)
  }
  