func exercise5() {
	fmt.Println("=== Exercise 5: Building JSON ===\n")
	fmt.Println()
}
exercise5 covers how to build complex objects as CEL literals.

Given the input `now`, construct a JWT with an expiry of 5 minutes.
package main
import (
	"encoding/json"
	"fmt"
	"reflect"
	"sort"
	"strings"
	"time"
	"github.com/google/cel-go/cel"
	_ "github.com/google/cel-go/checker/decls"
	"github.com/google/cel-go/common/types"
	"github.com/google/cel-go/common/types/ref"
	"github.com/google/cel-go/common/types/traits"
	_ "github.com/google/cel-go/interpreter/functions"
	"github.com/golang/glog"
	"google.golang.org/protobuf/encoding/protojson"
	"google.golang.org/protobuf/encoding/prototext"
	"google.golang.org/protobuf/proto"
	exprpb "google.golang.org/genproto/googleapis/api/expr/v1alpha1"
	rpcpb "google.golang.org/genproto/googleapis/rpc/context/attribute_context"
	structpb "google.golang.org/protobuf/types/known/structpb"
	tpb "google.golang.org/protobuf/types/known/timestamppb"
)
func main() {
	exercise1()
	exercise2()
	exercise3()
	exercise4()
	exercise5()
	exercise6()
	exercise7()
	exercise8()
}
func exercise1() {
	fmt.Println("=== Exercise 1: Hello World ===\n")
	fmt.Println()
}
func exercise2() {
	fmt.Println("=== Exercise 2: Variables ===\n")
	fmt.Println()
}
func exercise3() {
	fmt.Println("=== Exercise 3: Logical AND/OR ===\n")
	fmt.Println()
}
func exercise4() {
	fmt.Println("=== Exercise 4: Customization ===\n")
	fmt.Println()
}