<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def EntryPoints(registry, **kwargs):
 """Returns an object to use as entry point when calling ``registry.solve_resource``. When calling ``registry.solve_resource`` on a "root" resource, we don't have any value. This function will create a object to use as a first value and is used to specify which entry points are allowed at the first level of a dataql query. Example ------- '2015-06-01' '2015-06-02' Notes ----- The name of this function is intentionally made to resemble a class, as it returns an instance of a class named ``EntryPoints``. """


    # We convert functions to staticmethod as they will be held by a class and
    # we don't want them to expect a ``self`` or ``cls`` argument.
    attrs = {k: (staticmethod(v) if isfunction(v) else v) for k, v in kwargs.items()}

    klass = type('EntryPoints', (BaseEntryPoints, ), attrs)
    registry.register(klass, kwargs.keys())
    return klass()