def create_blueprint(endpoints):
from invenio_records_ui.views import create_url_rule<EOL>blueprint = Blueprint(<EOL>'<STR_LIT>',<EOL>__name__,<EOL>static_folder='<STR_LIT>',<EOL>template_folder='<STR_LIT>',<EOL>url_prefix='<STR_LIT>',<EOL>)<EOL>@blueprint.errorhandler(PIDDeletedError)<EOL>def tombstone_errorhandler(error):<EOL><INDENT>"""<STR_LIT>"""<EOL>return render_template(<EOL>current_app.config['<STR_LIT>'],<EOL>pid=error.pid,<EOL>record=error.record or {},<EOL>), <NUM_LIT><EOL><DEDENT>for endpoint, options in (endpoints or {}).items():<EOL><INDENT>options = deepcopy(options)<EOL>options.pop('<STR_LIT>', None)<EOL>options.pop('<STR_LIT>', None)<EOL>blueprint.add_url_rule(**create_url_rule(endpoint, **options))<EOL><DEDENT>@blueprint.route('<STR_LIT>')<EOL>@login_required<EOL>def index():<EOL><INDENT>"""<STR_LIT>"""<EOL>return render_template(current_app.config['<STR_LIT>'])<EOL><DEDENT>@blueprint.route('<STR_LIT>')<EOL>@login_required<EOL>def new():<EOL><INDENT>"""<STR_LIT>"""<EOL>deposit_type = request.values.get('<STR_LIT:type>')<EOL>return render_template(<EOL>current_app.config['<STR_LIT>'],<EOL>record={'<STR_LIT>': {'<STR_LIT:id>': None}},<EOL>jsonschema=current_deposit.jsonschemas[deposit_type],<EOL>schemaform=current_deposit.schemaforms[deposit_type],<EOL>)<EOL><DEDENT>return blueprint<EOL>
Create Invenio-Deposit-UI blueprint.

    See: :data:`invenio_deposit.config.DEPOSIT_RECORDS_UI_ENDPOINTS`.

    :param endpoints: List of endpoints configuration.
    :returns: The configured blueprint.