func (o *Options) CloneFrom(src Options) {
	*o = make(Options)
	for name, value := range src {
		(*o)[name] = value
	}
}
CloneFrom clones src to o.
package klogcontrol
import (
	"flag"
	"fmt"
	"io/ioutil"
	"os"
	"strings"
	"k8s.io/klog/v2"
)
type Options map[string]interface{}
type Control struct {
	flags *flag.FlagSet
}
var ctl *Control
func Get() *Control {
	return ctl
}
func (c *Control) CurrentOptions() Options {
	o := make(Options)
	c.flags.VisitAll(func(f *flag.Flag) {
		o[f.Name] = flag.Lookup(f.Name).Value.(flag.Getter).Get()
	})
	return o
}
func (c *Control) Configure(options Options) error {
	for name, value := range options {
		if err := flag.Set(name, fmt.Sprintf("%v", value)); err != nil {
			return klogError("failed to set klog flag %q to %v: %v", name, value, err)
		}
	}
	return nil
}
func (c *Control) Set(name, value string) error {
	return flag.Set(name, value)
}
func (c *Control) Get(name string) (interface{}, error) {
	if c.flags.Lookup(name) == nil {
		return nil, klogError("unknown klog flag %q", name)
	}
	return flag.Lookup(name).Value.(flag.Getter).Get(), nil
}