#!/usr/bin/env python

import time
import sys
import os

epoch = os.environ.get("SOURCE_DATE_EPOCH")
time = time.gmtime(None if epoch == None else int(epoch))
print("/* This file was generated by mkhelp.py from less.hlp at "\
    "%d:%02d GMT on %d/%d/%d */\n" %
    (time.tm_hour, time.tm_min, time.tm_year, time.tm_mon, time.tm_mday))
print("#include \"less.h\"")
print("constant char helpdata[] = {")
ch = 0
while True:
    prevch = ch
    ch = sys.stdin.read(1)
    if ch == '':
        break
    if (ch == "'"):
         print("'\\'',", end='')
    elif (ch == "\\"):
        print("'\\\\',", end='')
    elif (ch == "\b"):
        print ("'\\b',", end='')
    elif (ch == "\t"):
        print ("'\\t',", end='')
    elif (ch == "\n"):
        if prevch != "\r": print("'\\n',")
    elif (ch == "\r"):
        if prevch != "\n": print("'\\n',")
    else:
        if ((ord(ch) >= ord(' ')) and (ord(ch) < 0x7f)):
            print(f"'{ch}',", end='')
        else:
            print("0x%02x," % ord(ch), end='')
print(" '\\0' };")
print("constant int size_helpdata = sizeof(helpdata) - 1;")
