Skip to content
Snippets Groups Projects

HCPFollowMe.sh

  • Clone with SSH
  • Clone with HTTPS
  • Embed
  • Share
    The snippet can be accessed without any authentication.
    Authored by Simon Andersen

    HCPFollowMe.sh creates a local CUPS print queue for use with EveryonePrint HCP

    Edited
    HCPFollowMe.sh 25.01 KiB
    #!/bin/bash
    # Simon Andersen 2023, version 1.0
    
    
    if id | grep --quiet lpadmin; then
      #echo "User is in lpadmin"
      :
    else
      printf "Script must be run by a member of group lpadmin - run the following command, log out and log back in. Then try again! \n\$ sudo usermod -aG lpadmin %s\n" "$(whoami)"
      exit 1
    fi
    
    function EVALUATEUSERNAME() {
        if ! [[ "$1" =~ ^au[0-9]+$ ]]
        then
            PRINTUSAGE 
            printf "Username format not recognized: \"${1}\"\nUsername must be of the form: \"au12345\"\n"
            exit 1
        fi
    }
    
    function PRINTUSAGE() {
        echo "Usage: $SCRIPT -u [username]"
    }
    
    SCRIPT="$0"
    
    if [[ "$1" =~ ^[^-] ]]; then
        PRINTUSAGE
        printf "Error: Invalid option: $1\n"
        exit 1
    fi
    
    # Get the options
    while getopts "u:" option; do
       case $option in
          u) # Enter a name
             EVALUATEUSERNAME "$OPTARG" 
             PRIMARYUSER="$OPTARG";;
         \?) # Invalid option
             PRINTUSAGE
             echo "Error: Invalid option"
             exit 1;;
       esac
    done
    
    if [[ -z "$PRIMARYUSER" ]]; then
        PRIMARYUSER="$USER"
        EVALUATEUSERNAME "$PRIMARYUSER"
    fi
    
    PRINTSERVER="everyoneprt01.uni.au.dk"
    FOLLOWMEPRINTERID="251"
    ACCOUNTDOMAIN="au.hcp.print.konicaminolta.eu"
    PRINTERDESCRIPTION="HCP FollowMe Printer for $PRIMARYUSER"
    LOCALQUEUE="HCP_FollowMe_${PRIMARYUSER}"
    
    HCPPPDB64="KlBQRC1BZG9iZTogIjQuMyIKKkZvcm1hdFZlcnNpb246ICAgICAiNC4zIgoqRmlsZVZlcnNpb246ICAgICAgICIxLjAuMCIKKkxhbmd1YWdlVmVyc2lvbjogICBFbmdsaXNoCipMYW5ndWFnZUVuY29kaW5nOiAgSVNPTGF0aW4xCipQQ0ZpbGVOYW1lOiAgICAgICAgIkhDUERSSVYuUFBEIgoqTWFudWZhY3R1cmVyOiAgICAgICJFdmVyeW9uZVByaW50IEEvUyIKKlByb2R1Y3Q6ICAgICAgICAgICAoSENQKQoqTW9kZWxOYW1lOiAgICAgICAgICJIQ1AgVW5pdmVyc2FsIGRyaXZlciIKKlNob3J0Tmlja05hbWU6ICAgICAiSENQIFVuaXZlcnNhbCBkcml2ZXIiCipOaWNrTmFtZTogICAgICAgICAgIkhDUCBVbml2ZXJzYWwgZHJpdmVyIgoqUFNWZXJzaW9uOiAgICAgICAgICIoMzAxMC4wMDApIDU1MCIKKkxhbmd1YWdlTGV2ZWw6ICAgICAiMyIKKkNvbG9yRGV2aWNlOiAgICAgICBUcnVlCipEZWZhdWx0Q29sb3JTcGFjZTogUkdCCipGaWxlU3lzdGVtOiAgICAgICAgRmFsc2UKKlRocm91Z2hwdXQ6ICAgICAgICAiOCIKKkxhbmRzY2FwZU9yaWVudGF0aW9uOiBQbHVzOTAKKlZhcmlhYmxlUGFwZXJTaXplOiBGYWxzZQoqVFRSYXN0ZXJpemVyOiAgICAgIFR5cGU0MgoqUHJvdG9jb2xzOiAgICAgICAgIFBKTAoqSkNMQmVnaW46ICAgICAgICAgICI8MUI+JS0xMjM0NVhAUEpMIENPTU1FTlQgIkV2ZXJ5b25lUHJpbnQgVW5pdmVyc2FsIFByaW50IERyaXZlciI8MEE+QFBKTCBTRVQgRU9QRFJJVkVSPU9OPDBBPiIKKkpDTEVuZDogICAgICAgICAgICAiPDFCPiUtMTIzNDVYIgoqSkNMVG9QU0ludGVycHJldGVyOiAiQFBKTCBFTlRFUiBMQU5HVUFHRT1QREY8MEE+IgoKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgRXhlY3V0aXZlICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgTGV0dGVyICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgTGVnYWwgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgVGFibG9pZCAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgQTMgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgQTQgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgQTUgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpPdXRwdXRQYXBlclNpemUgQjUgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKCipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpPdXRwdXRQYXBlclNpemUgRXhlY3V0aXZlCipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpPdXRwdXRQYXBlclNpemUgTGV0dGVyCipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpPdXRwdXRQYXBlclNpemUgTGVnYWwKKlVJQ29uc3RyYWludHM6ICpJbnB1dFNsb3QgRW52ZWxvcGUgICAgICAgICAgKk91dHB1dFBhcGVyU2l6ZSBUYWJsb2lkCipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpPdXRwdXRQYXBlclNpemUgQTMKKlVJQ29uc3RyYWludHM6ICpJbnB1dFNsb3QgRW52ZWxvcGUgICAgICAgICAgKk91dHB1dFBhcGVyU2l6ZSBBNAoqVUlDb25zdHJhaW50czogKklucHV0U2xvdCBFbnZlbG9wZSAgICAgICAgICAqT3V0cHV0UGFwZXJTaXplIEE1CipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpPdXRwdXRQYXBlclNpemUgQjUKCipVSUNvbnN0cmFpbnRzOiAqUGFnZVNpemUgRXhlY3V0aXZlICAgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpQYWdlU2l6ZSBMZXR0ZXIgICAgICAgICAgICAgKklucHV0U2xvdCBFbnZlbG9wZQoqVUlDb25zdHJhaW50czogKlBhZ2VTaXplIExlZ2FsICAgICAgICAgICAgICAqSW5wdXRTbG90IEVudmVsb3BlCipVSUNvbnN0cmFpbnRzOiAqUGFnZVNpemUgVGFibG9pZCAgICAgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpQYWdlU2l6ZSBBMyAgICAgICAgICAgICAgICAgKklucHV0U2xvdCBFbnZlbG9wZQoqVUlDb25zdHJhaW50czogKlBhZ2VTaXplIEE0ICAgICAgICAgICAgICAgICAqSW5wdXRTbG90IEVudmVsb3BlCipVSUNvbnN0cmFpbnRzOiAqUGFnZVNpemUgQTUgICAgICAgICAgICAgICAgICpJbnB1dFNsb3QgRW52ZWxvcGUKKlVJQ29uc3RyYWludHM6ICpQYWdlU2l6ZSBCNSAgICAgICAgICAgICAgICAgKklucHV0U2xvdCBFbnZlbG9wZQoKKlVJQ29uc3RyYWludHM6ICpJbnB1dFNsb3QgRW52ZWxvcGUgICAgICAgICAgKlBhZ2VTaXplIEV4ZWN1dGl2ZQoqVUlDb25zdHJhaW50czogKklucHV0U2xvdCBFbnZlbG9wZSAgICAgICAgICAqUGFnZVNpemUgTGV0dGVyCipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpQYWdlU2l6ZSBMZWdhbAoqVUlDb25zdHJhaW50czogKklucHV0U2xvdCBFbnZlbG9wZSAgICAgICAgICAqUGFnZVNpemUgVGFibG9pZAoqVUlDb25zdHJhaW50czogKklucHV0U2xvdCBFbnZlbG9wZSAgICAgICAgICAqUGFnZVNpemUgQTMKKlVJQ29uc3RyYWludHM6ICpJbnB1dFNsb3QgRW52ZWxvcGUgICAgICAgICAgKlBhZ2VTaXplIEE0CipVSUNvbnN0cmFpbnRzOiAqSW5wdXRTbG90IEVudmVsb3BlICAgICAgICAgICpQYWdlU2l6ZSBBNQoqVUlDb25zdHJhaW50czogKklucHV0U2xvdCBFbnZlbG9wZSAgICAgICAgICAqUGFnZVNpemUgQjUKCipVSUNvbnN0cmFpbnRzOiAqRHVwbGV4ICAgICAgICAgICAgICAgICAgICAgICpPcHRpb24xIEZhbHNlCipVSUNvbnN0cmFpbnRzOiAqVW5pU3RhcGxlICAgICAgICAgICAgICAgICAgICpPcHRpb24yIEZhbHNlCipVSUNvbnN0cmFpbnRzOiAqVW5pUHVuY2ggICAgICAgICAgICAgICAgICAgICpPcHRpb24yIEZhbHNlCgoqVUlDb25zdHJhaW50czogKk9wdGlvbjEgRmFsc2UgICAgICAgICAgICAgICAqRHVwbGV4CipVSUNvbnN0cmFpbnRzOiAqT3B0aW9uMiBGYWxzZSAgICAgICAgICAgICAgICpVbmlTdGFwbGUKKlVJQ29uc3RyYWludHM6ICpPcHRpb24yIEZhbHNlICAgICAgICAgICAgICAgKlVuaVB1bmNoCgoqT3BlblVJICpDb2xsYXRlL0NvbGxhdGU6IEJvb2xlYW4KKk9yZGVyRGVwZW5kZW5jeTogMTAgSkNMU2V0dXAgKkNvbGxhdGUKKkRlZmF1bHRDb2xsYXRlOiBGYWxzZQoqQ29sbGF0ZSBGYWxzZS9PZmY6ICJAUEpMIFNFVCBFT1BDT0xMQVRFPVVuY29sbGF0ZWQ8MEE+IgoqQ29sbGF0ZSBUcnVlL09uOiAiQFBKTCBTRVQgRU9QQ09MTEFURT1Db2xsYXRlZDwwQT4iCipDbG9zZVVJOiAqQ29sbGF0ZQoKKk9wZW5VSSAqUHJpbnRRdWFsaXR5L1ByaW50IFF1YWxpdHk6IFBpY2tPbmUKKk9yZGVyRGVwZW5kZW5jeTogMTAgSkNMU2V0dXAgKlByaW50UXVhbGl0eQoqRGVmYXVsdFByaW50UXVhbGl0eTogMzAwCipQcmludFF1YWxpdHkgMTUwL0RyYWZ0OiAiQFBKTCBTRVQgRU9QRFBJPTE1MDwwQT4iCipQcmludFF1YWxpdHkgMzAwL05vcm1hbDogIkBQSkwgU0VUIEVPUERQST0zMDA8MEE+IgoqUHJpbnRRdWFsaXR5IDYwMC9IaWdoOiAiQFBKTCBTRVQgRU9QRFBJPTYwMDwwQT4iCipQcmludFF1YWxpdHkgMTIwMC9QaG90b2dyYXBoaWM6ICJAUEpMIFNFVCBFT1BEUEk9MTIwMDwwQT4iCipQcmludFF1YWxpdHkgMC9ObyBmbGF0dGVuaW5nOiAiQFBKTCBTRVQgRU9QRFBJPTA8MEE+IgoqQ2xvc2VVSTogKlByaW50UXVhbGl0eQoKKkpDTE9wZW5VSSAqQ29sb3JNb2RlbC9Db2xvciBNb2RlOiBQaWNrT25lCipPcmRlckRlcGVuZGVuY3k6IDEwIEpDTFNldHVwICpDb2xvck1vZGVsCipEZWZhdWx0Q29sb3JNb2RlbDogQ29sb3IKKkNvbG9yTW9kZWwgQ29sb3IvQ29sb3I6ICJAUEpMIFNFVCBFT1BDT0xPUk1PREU9Q09MT1I8MEE+IgoqQ29sb3JNb2RlbCBHcmF5c2NhbGUvR3JheXNjYWxlOiAiQFBKTCBTRVQgRU9QQ09MT1JNT0RFPUdSQVlTQ0FMRTwwQT4iCipKQ0xDbG9zZVVJOiAqQ29sb3JNb2RlbAoKKkpDTE9wZW5VSSAqT3V0cHV0UGFwZXJTaXplL091dHB1dCBQYXBlciBTaXplOiBQaWNrT25lCipPcmRlckRlcGVuZGVuY3k6IDEwIEpDTFNldHVwICpPdXRwdXRQYXBlclNpemUKKkRlZmF1bHRPdXRwdXRQYXBlclNpemU6IEF1dG8KKk91dHB1dFBhcGVyU2l6ZSBBdXRvL0F1dG86ICAgICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFNJWkU9QXV0bzwwQT4iCipPdXRwdXRQYXBlclNpemUgTGV0dGVyL1VTIExldHRlcjogICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRTSVpFPUxldHRlcjwwQT4iCipPdXRwdXRQYXBlclNpemUgTGVnYWwvVVMgTGVnYWw6ICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRTSVpFPUxlZ2FsPDBBPiIKKk91dHB1dFBhcGVyU2l6ZSBFeGVjdXRpdmUvVVMgRXhlY3V0aXZlOiAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFNJWkU9RXhlY3V0aXZlPDBBPiIKKk91dHB1dFBhcGVyU2l6ZSBUYWJsb2lkL1VTIFRhYmxvaWQ6ICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFNJWkU9VGFibG9pZDwwQT4iCipPdXRwdXRQYXBlclNpemUgQTMvQTM6ICAgICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRTSVpFPUEzPDBBPiIKKk91dHB1dFBhcGVyU2l6ZSBBNC9BNDogICAgICAgICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFNJWkU9QTQ8MEE+IgoqT3V0cHV0UGFwZXJTaXplIEE1L0E1OiAgICAgICAgICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QT1VUUFVUU0laRT1BNTwwQT4iCipPdXRwdXRQYXBlclNpemUgQjQvQjQgKEpJUyk6ICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRTSVpFPUI0PDBBPiIKKk91dHB1dFBhcGVyU2l6ZSBCNS9CNSAoSklTKTogICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFNJWkU9QjU8MEE+IgoqT3V0cHV0UGFwZXJTaXplIEVudklTT0I1L0VudmVsb3BlIEI1OiAgICAgICAgICAiQFBKTCBTRVQgRU9QT1VUUFVUU0laRT1FbnZJU09CNTwwQT4iCipPdXRwdXRQYXBlclNpemUgRW52MTAvRW52ZWxvcGUgIzEwOiAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRTSVpFPUVudjEwPDBBPiIKKk91dHB1dFBhcGVyU2l6ZSBFbnZDNS9FbnZlbG9wZSBDNTogICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFNJWkU9RW52QzU8MEE+IgoqT3V0cHV0UGFwZXJTaXplIEVudkRML0VudmVsb3BlIERMOiAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QT1VUUFVUU0laRT1FbnZETDwwQT4iCipPdXRwdXRQYXBlclNpemUgRW52TW9uYXJjaC9FbnZlbG9wZSBNb25hcmNoOiAgICJAUEpMIFNFVCBFT1BPVVRQVVRTSVpFPUVudk1vbmFyY2g8MEE+IgoqSkNMQ2xvc2VVSTogKk91dHB1dFBhcGVyU2l6ZQoKKk9wZW5VSSAqUGFnZVNpemU6ICBQaWNrT25lCipPcmRlckRlcGVuZGVuY3k6IDMwIEFueVNldHVwICpQYWdlU2l6ZQoqRGVmYXVsdFBhZ2VTaXplOiBBNAoqUGFnZVNpemUgTGV0dGVyL0xldHRlcjogIgogPDwgL1BhZ2VTaXplIFs2MTIgNzkyXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBMZWdhbC9MZWdhbDogIgogPDwgL1BhZ2VTaXplIFs2MTIgMTAwOF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVNpemUgRXhlY3V0aXZlL0V4ZWN1dGl2ZTogIgogPDwgL1BhZ2VTaXplIFs1MjIgNzU2XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBTdGF0ZW1lbnQvU3RhdGVtZW50OiAiCiA8PCAvUGFnZVNpemUgWzM5NiA2MTJdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VTaXplIEZvbGlvL0ZvbGlvOiAiCiA8PCAvUGFnZVNpemUgWzYxMiA5MzZdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VTaXplIFRhYmxvaWQ6ICIKIDw8IC9QYWdlU2l6ZSBbNzkyIDEyMjRdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VTaXplIFVuaXZlcnNhbDogIgogPDwgL1BhZ2VTaXplIFs2MTIgMTAyMF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVNpemUgQTMvQTM6ICIKIDw8IC9QYWdlU2l6ZSBbODQyIDExOTBdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VTaXplIEE0L0E0OiAiCiA8PCAvUGFnZVNpemUgWzU5NSA4NDJdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VTaXplIEI0L0I0IChKSVMpOiAiCiA8PCAvUGFnZVNpemUgWzcyOCAxMDMyXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBCNS9CNSAoSklTKTogIgogPDwgL1BhZ2VTaXplIFs1MTYgNzI4XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBBNS9BNTogIgogPDwgL1BhZ2VTaXplIFs0MjAgNTk1XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBBNi9BNjogIgogPDwgL1BhZ2VTaXplIFsyOTggNDIwXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBFbnZNb25hcmNoL0VudmVsb3BlIEVudk1vbmFyY2g6ICIKIDw8IC9QYWdlU2l6ZSBbMjc5IDU0MF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVNpemUgRW52OS9FbnZlbG9wZSAjOTogIgogPDwgL1BhZ2VTaXplIFsyNzkgNjM5XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlU2l6ZSBFbnYxMC9FbnZlbG9wZSAjMTA6ICIKIDw8IC9QYWdlU2l6ZSBbMjk3IDY4NF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVNpemUgRW52REwvRW52ZWxvcGUgREw6ICIKIDw8IC9QYWdlU2l6ZSBbMzEyIDYyNF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVNpemUgRW52QzUvRW52ZWxvcGUgQzU6ICIKIDw8IC9QYWdlU2l6ZSBbNDU5IDY0OV0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVNpemUgSVNPQjUvRW52ZWxvcGUgQjU6ICIKIDw8IC9QYWdlU2l6ZSBbNDk5IDcwOF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqQ2xvc2VVSTogKlBhZ2VTaXplCgoqT3BlblVJICpQYWdlUmVnaW9uOiAgUGlja09uZQoqT3JkZXJEZXBlbmRlbmN5OiA0MCBBbnlTZXR1cCAqUGFnZVJlZ2lvbgoqRGVmYXVsdFBhZ2VSZWdpb246IEE0CipQYWdlUmVnaW9uIExldHRlcjogIgogPDwgL1BhZ2VTaXplIFs2MTIgNzkyXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIExlZ2FsOiAiCiA8PCAvUGFnZVNpemUgWzYxMiAxMDA4XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIEV4ZWN1dGl2ZTogIgogPDwgL1BhZ2VTaXplIFs1MjIgNzU2XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIFN0YXRlbWVudDogIgogPDwgL1BhZ2VTaXplIFszOTYgNjEyXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIEZvbGlvOiAiCiA8PCAvUGFnZVNpemUgWzYxMiA5MzZdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VSZWdpb24gVGFibG9pZDogIgogPDwgL1BhZ2VTaXplIFs3OTIgMTIyNF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVJlZ2lvbiBBMzogIgogPDwgL1BhZ2VTaXplIFs4NDIgMTE5MF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVJlZ2lvbiBBNDogIgogPDwgL1BhZ2VTaXplIFs1OTUgODQyXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIEI0OiAiCiA8PCAvUGFnZVNpemUgWzcyOCAxMDMyXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIEI1OiAiCiA8PCAvUGFnZVNpemUgWzUxNiA3MjhdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VSZWdpb24gQTU6ICIKIDw8IC9QYWdlU2l6ZSBbNDIwIDU5NV0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVJlZ2lvbiBBNjogIgogPDwgL1BhZ2VTaXplIFsyOTggNDIwXSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIFVuaXZlcnNhbDogIgogPDwgL1BhZ2VTaXplIFs2MTIgMTAyMF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVJlZ2lvbiBFbnZNb25hcmNoOiAiCiA8PCAvUGFnZVNpemUgWzI3OSA1NDBdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VSZWdpb24gRW52OTogIgogPDwgL1BhZ2VTaXplIFsyNzkgNjM5XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIEVudjEwOiAiCiA8PCAvUGFnZVNpemUgWzI5NyA2ODRdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKlBhZ2VSZWdpb24gRW52REw6ICIKIDw8IC9QYWdlU2l6ZSBbMzEyIDYyNF0gL0ltYWdpbmdCQm94IG51bGwgPj4gc2V0cGFnZWRldmljZSIKKkVuZAoqUGFnZVJlZ2lvbiBFbnZDNTogIgogPDwgL1BhZ2VTaXplIFs0NTkgNjQ5XSAvSW1hZ2luZ0JCb3ggbnVsbCA+PiBzZXRwYWdlZGV2aWNlIgoqRW5kCipQYWdlUmVnaW9uIElTT0I1OiAiCiA8PCAvUGFnZVNpemUgWzQ5OSA3MDhdIC9JbWFnaW5nQkJveCBudWxsID4+IHNldHBhZ2VkZXZpY2UiCipFbmQKKkNsb3NlVUk6ICpQYWdlUmVnaW9uCgoqRGVmYXVsdEltYWdlYWJsZUFyZWE6IEE0CipJbWFnZWFibGVBcmVhIExldHRlcjogICAgICAgICAgICAgICAgICAgICAgICIxMi4wMCAxMi4wMCA2MDAuMDAgNzgwLjAwIgoqSW1hZ2VhYmxlQXJlYSBMZWdhbDogICAgICAgICAgICAgICAgICAgICAgICAiMTIuMDAgMTIuMDAgNjAwLjAwIDk5Ni4wMCIKKkltYWdlYWJsZUFyZWEgRXhlY3V0aXZlOiAgICAgICAgICAgICAgICAgICAgIjEyLjAwIDEyLjAwIDUxMC4wMCA3NDQuMDAiCipJbWFnZWFibGVBcmVhIFN0YXRlbWVudDogICAgICAgICAgICAgICAgICAgICIxMi4wMCAxMi4wMCAzODQuMDAgNjAwLjAwIgoqSW1hZ2VhYmxlQXJlYSBGb2xpbzogICAgICAgICAgICAgICAgICAgICAgICAiMTIuMDAgMTIuMDAgNjAwLjAwIDkyNC4wMCIKKkltYWdlYWJsZUFyZWEgVGFibG9pZDogICAgICAgICAgICAgICAgICAgICAgIjEyLjAwIDEyLjAwIDc4MC4wMCAxMjEyLjAwIgoqSW1hZ2VhYmxlQXJlYSBBMzogICAgICAgICAgICAgICAgICAgICAgICAgICAiMTIuMDAgMTIuMDAgODI5LjY4IDExNzguNDAiCipJbWFnZWFibGVBcmVhIEE0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICI5LjYwIDEyLjAwIDU4My4yMCA4MjkuNjgiCipJbWFnZWFibGVBcmVhIEI0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMi4wMCAxMi4wMCA3MTYuNDAgMTAyMC4wMCIKKkltYWdlYWJsZUFyZWEgQjU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEyLjAwIDEyLjAwIDUwNC4wMCA3MTYuNDAiCipJbWFnZWFibGVBcmVhIEE1OiAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMi4wMCAxMi4wMCA0MDcuNTIgNTgzLjIwIgoqSW1hZ2VhYmxlQXJlYSBBNjogICAgICAgICAgICAgICAgICAgICAgICAgICAiMTIuMDAgMTIuMDAgMjg1LjYwIDQwNy41MiIKKkltYWdlYWJsZUFyZWEgVW5pdmVyc2FsOiAgICAgICAgICAgICAgICAgICAgIjEyLjAwIDEyLjAwIDYwMC4wMCAxMDA4LjI0IgoqSW1hZ2VhYmxlQXJlYSBFbnZNb25hcmNoOiAgICAgICAgICAgICAgICAgICAiMTIuMDAgMTIuMDAgMjY3LjEyIDUyOC4wMCIKKkltYWdlYWJsZUFyZWEgRW52OTogICAgICAgICAgICAgICAgICAgICAgICAgIjEyLjAwIDEyLjAwIDI2Ny4xMiA2MjYuODgiCipJbWFnZWFibGVBcmVhIEVudjEwOiAgICAgICAgICAgICAgICAgICAgICAgICIxMi4wMCAxMi4wMCAyODQuODggNjcyLjAwIgoqSW1hZ2VhYmxlQXJlYSBFbnZETDogICAgICAgICAgICAgICAgICAgICAgICAiMTIuMDAgMTIuMDAgMjk5Ljc2IDYxMS41MiIKKkltYWdlYWJsZUFyZWEgRW52QzU6ICAgICAgICAgICAgICAgICAgICAgICAgIjEyLjAwIDEyLjAwIDQ0Ny4xMiA2MzYuOTYiCipJbWFnZWFibGVBcmVhIElTT0I1OiAgICAgICAgICAgICAgICAgICAgICAgICIxMi4wMCAxMi4wMCA0ODYuNzIgNjk2LjQ4IgoKKkRlZmF1bHRQYXBlckRpbWVuc2lvbjogQTQKKlBhcGVyRGltZW5zaW9uIExldHRlcjogICAgICAgICAgICAgICAgICAgICAgICI2MTIgNzkyIgoqUGFwZXJEaW1lbnNpb24gTGVnYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIjYxMiAxMDA4IgoqUGFwZXJEaW1lbnNpb24gRXhlY3V0aXZlOiAgICAgICAgICAgICAgICAgICAgIjUyMiA3NTYiCipQYXBlckRpbWVuc2lvbiBTdGF0ZW1lbnQ6ICAgICAgICAgICAgICAgICAgICAiMzk2IDYxMiIKKlBhcGVyRGltZW5zaW9uIEZvbGlvOiAgICAgICAgICAgICAgICAgICAgICAgICI2MTIgOTM2IgoqUGFwZXJEaW1lbnNpb24gVGFibG9pZDogICAgICAgICAgICAgICAgICAgICAgIjc5MiAxMjI0IgoqUGFwZXJEaW1lbnNpb24gQTM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjg0MiAxMTkwIgoqUGFwZXJEaW1lbnNpb24gQTQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjU5NSA4NDIiCipQYXBlckRpbWVuc2lvbiBCNDogICAgICAgICAgICAgICAgICAgICAgICAgICAiNzI4IDEwMzIiCipQYXBlckRpbWVuc2lvbiBCNTogICAgICAgICAgICAgICAgICAgICAgICAgICAiNTE2IDcyOCIKKlBhcGVyRGltZW5zaW9uIEE1OiAgICAgICAgICAgICAgICAgICAgICAgICAgICI0MjAgNTk1IgoqUGFwZXJEaW1lbnNpb24gQTY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIjI5OCA0MjAiCipQYXBlckRpbWVuc2lvbiBVbml2ZXJzYWw6ICAgICAgICAgICAgICAgICAgICAiNjEyIDEwMjAiCipQYXBlckRpbWVuc2lvbiBFbnZNb25hcmNoOiAgICAgICAgICAgICAgICAgICAiMjc5IDU0MCIKKlBhcGVyRGltZW5zaW9uIEVudjk6ICAgICAgICAgICAgICAgICAgICAgICAgICIyNzkgNjM5IgoqUGFwZXJEaW1lbnNpb24gRW52MTA6ICAgICAgICAgICAgICAgICAgICAgICAgIjI5NyA2ODQiCipQYXBlckRpbWVuc2lvbiBFbnZETDogICAgICAgICAgICAgICAgICAgICAgICAiMzEyIDYyNCIKKlBhcGVyRGltZW5zaW9uIEVudkM1OiAgICAgICAgICAgICAgICAgICAgICAgICI0NTkgNjQ5IgoqUGFwZXJEaW1lbnNpb24gSVNPQjU6ICAgICAgICAgICAgICAgICAgICAgICAgIjQ5OSA3MDgiCgoqSkNMT3BlblVJICpJbnB1dFNsb3QvTWVkaWEgU291cmNlOiBQaWNrT25lCipPcmRlckRlcGVuZGVuY3k6IDEwIEpDTFNldHVwICpJbnB1dFNsb3QKKkRlZmF1bHRJbnB1dFNsb3Q6IERlZmF1bHQKKklucHV0U2xvdCBEZWZhdWx0L0RlZmF1bHQ6ICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QSU5QVVRUUkFZPUF1dG9TZWxlY3Q8MEE+IgoqSW5wdXRTbG90IFRyYXkxL1RyYXkgMTogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9VHJheTE8MEE+IgoqSW5wdXRTbG90IFRyYXkyL1RyYXkgMjogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9VHJheTI8MEE+IgoqSW5wdXRTbG90IFRyYXkzL1RyYXkgMzogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9VHJheTM8MEE+IgoqSW5wdXRTbG90IFRyYXk0L1RyYXkgNDogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9VHJheTQ8MEE+IgoqSW5wdXRTbG90IFRyYXk1L1RyYXkgNTogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9VHJheTU8MEE+IgoqSW5wdXRTbG90IFRyYXk2L1RyYXkgNjogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9VHJheTY8MEE+IgoqSW5wdXRTbG90IE1hbnVhbC9NYW51YWwgRmVlZDogICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BJTlBVVFRSQVk9TWFudWFsPDBBPiIKKklucHV0U2xvdCBFbnZlbG9wZS9FbnZlbG9wZSBGZWVkOiAgICAgICAgICAiQFBKTCBTRVQgRU9QSU5QVVRUUkFZPUVudmVsb3BlPDBBPiIKKkpDTENsb3NlVUk6ICpJbnB1dFNsb3QKCipKQ0xPcGVuVUkgKk1lZGlhVHlwZS9QYXBlciBUeXBlOiBQaWNrT25lCipPcmRlckRlcGVuZGVuY3k6IDE1IEpDTFNldHVwICpNZWRpYVR5cGUKKkRlZmF1bHRNZWRpYVR5cGU6IEF1dG8KKk1lZGlhVHlwZSBBdXRvL0F1dG8gc2VsZWN0OiAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QTUVESUFUWVBFPUF1dG9TZWxlY3Q8MEE+IgoqTWVkaWFUeXBlIFBsYWluL1BsYWluOiAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9UGxhaW48MEE+IgoqTWVkaWFUeXBlIFJlY3ljbGVkL1JlY3ljbGVkOiAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9UmVjeWNsZWQ8MEE+IgoqTWVkaWFUeXBlIFNwZWNpYWwvU3BlY2lhbDogICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9U3BlY2lhbDwwQT4iCipNZWRpYVR5cGUgQ29sb3IvQ29sb3I6ICAgICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE1FRElBVFlQRT1Db2xvcjwwQT4iCipNZWRpYVR5cGUgTGV0dGVyaGVhZC9MZXR0ZXJoZWFkOiAgICAgICAgICAgIkBQSkwgU0VUIEVPUE1FRElBVFlQRT1MZXR0ZXJoZWFkPDBBPiIKKk1lZGlhVHlwZSBQcmVwcmludGVkL1ByZXByaW50ZWQ6ICAgICAgICAgICAiQFBKTCBTRVQgRU9QTUVESUFUWVBFPVByZXByaW50ZWQ8MEE+IgoqTWVkaWFUeXBlIExhYmVsL0xhYmVsOiAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9TGFiZWw8MEE+IgoqTWVkaWFUeXBlIEJvbmQvQm9uZDogICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9Qm9uZDwwQT4iCipNZWRpYVR5cGUgVHJhbnNwYXJlbmN5L1RyYW5zcGFyZW5jeTogICAgICAgIkBQSkwgU0VUIEVPUE1FRElBVFlQRT1UcmFuc3BhcmVuY3k8MEE+IgoqTWVkaWFUeXBlIFRoaWNrL1RoaWNrOiAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9VGhpY2s8MEE+IgoqTWVkaWFUeXBlIFRoaWNrMi9UaGljayAyOiAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9VGhpY2syPDBBPiIKKk1lZGlhVHlwZSBUaGljazMvVGhpY2sgMzogICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QTUVESUFUWVBFPVRoaWNrMzwwQT4iCipNZWRpYVR5cGUgVGhpY2s0L1RoaWNrIDQ6ICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE1FRElBVFlQRT1UaGljazQ8MEE+IgoqTWVkaWFUeXBlIFRoaW4vVGhpbjogICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BNRURJQVRZUEU9VGhpbjwwQT4iCipNZWRpYVR5cGUgRW52ZWxvcGUvRW52ZWxvcGU6ICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE1FRElBVFlQRT1FbnZlbG9wZTwwQT4iCipKQ0xDbG9zZVVJOiAqTWVkaWFUeXBlCgoqSkNMT3BlblVJICpEdXBsZXgvRG91YmxlLVNpZGVkIFByaW50aW5nOiBQaWNrT25lCipPcmRlckRlcGVuZGVuY3k6IDIwIEpDTFNldHVwICpEdXBsZXgKKkRlZmF1bHREdXBsZXg6IE5vbmUKKkR1cGxleCBOb25lL09mZjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIKKkR1cGxleCBEdXBsZXhOb1R1bWJsZS9Mb25nIEVkZ2UgKFN0YW5kYXJkKTogICAgIkBQSkwgU0VUIEVPUERVUExFWD1MT05HPDBBPiIKKkR1cGxleCBEdXBsZXhUdW1ibGUvU2hvcnQgRWRnZSAoRmxpcCk6ICAgICAgICAgIkBQSkwgU0VUIEVPUERVUExFWD1TSE9SVDwwQT4iCipKQ0xDbG9zZVVJOiAqRHVwbGV4CgoqSkNMT3BlblVJICpVbmlTdGFwbGUvU3RhcGxpbmc6IFBpY2tPbmUKKk9yZGVyRGVwZW5kZW5jeTogMjAgSkNMU2V0dXAgKlVuaVN0YXBsZQoqRGVmYXVsdFVuaVN0YXBsZTogTm9uZQoqVW5pU3RhcGxlIE5vbmUvT2ZmOiAgICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BTVEFQTEU9T2ZmPDBBPiIKKlVuaVN0YXBsZSBVcHBlckxlZnQvVG9wIGxlZnQ6ICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QU1RBUExFPVVwcGVyTGVmdDwwQT4iCipVbmlTdGFwbGUgVXBwZXJSaWdodC9Ub3AgcmlnaHQ6ICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFNUQVBMRT1VcHBlclJpZ2h0PDBBPiIKKlVuaVN0YXBsZSBMZWZ0Vy8yIGF0IGxlZnQ6ICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QU1RBUExFPUxlZnRXPDBBPiIKKlVuaVN0YXBsZSBSaWdodFcvMiBhdCByaWdodDogICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QU1RBUExFPVJpZ2h0VzwwQT4iCipVbmlTdGFwbGUgVXBwZXJXLzIgYXQgdG9wOiAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFNUQVBMRT1VcHBlclc8MEE+IgoqVW5pU3RhcGxlIENlbnRlclcvMiBhdCBjZW50ZXI6ICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BTVEFQTEU9Q2VudGVyVzwwQT4iCipKQ0xDbG9zZVVJOiAqVW5pU3RhcGxlCgoqSkNMT3BlblVJICpVbmlQdW5jaC9QdW5jaGluZzogUGlja09uZQoqT3JkZXJEZXBlbmRlbmN5OiAyMjAgSkNMU2V0dXAgKlVuaVB1bmNoCipEZWZhdWx0VW5pUHVuY2g6IE5vbmUKKlVuaVB1bmNoIE5vbmUvT2ZmOiAgICAgICAgICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QUFVOQ0g9Tm9uZTwwQT4iCipVbmlQdW5jaCBMZWZ0Mi8yIGF0IGxlZnQ6ICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFBVTkNIPUxlZnQyPDBBPiIKKlVuaVB1bmNoIExlZnQzLzMgYXQgbGVmdDogICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QUFVOQ0g9TGVmdDM8MEE+IgoqVW5pUHVuY2ggTGVmdDQvNCBhdCBsZWZ0OiAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BQVU5DSD1MZWZ0NDwwQT4iCipVbmlQdW5jaCBSaWdodDIvMiBhdCBSaWdodDogICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFBVTkNIPVJpZ2h0MjwwQT4iCipVbmlQdW5jaCBSaWdodDMvMyBhdCBSaWdodDogICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFBVTkNIPVJpZ2h0MzwwQT4iCipVbmlQdW5jaCBSaWdodDQvNCBhdCBSaWdodDogICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFBVTkNIPVJpZ2h0NDwwQT4iCipVbmlQdW5jaCBUb3AyLzIgYXQgVG9wOiAgICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUFBVTkNIPVRvcDI8MEE+IgoqVW5pUHVuY2ggVG9wMy8zIGF0IFRvcDogICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BQVU5DSD1Ub3AzPDBBPiIKKlVuaVB1bmNoIFRvcDQvNCBhdCBUb3A6ICAgICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QUFVOQ0g9VG9wNDwwQT4iCipKQ0xDbG9zZVVJOiAqVW5pUHVuY2gKCipKQ0xPcGVuVUkgKk91dHB1dEJpbi9PdXRwdXQgQmluOiBQaWNrT25lCipEZWZhdWx0T3V0cHV0QmluOiBTdGFuZGFyZEJpbgoqT3JkZXJEZXBlbmRlbmN5OiAyMjAgSkNMU2V0dXAgKk91dHB1dEJpbgoqT3V0cHV0QmluIFN0YW5kYXJkQmluL1N0YW5kYXJkIEJpbjogICAgICAgICAgICAiQFBKTCBTRVQgRU9QT1VUUFVUVFJBWT1BdXRvU2VsZWN0PDBBPiIKKk91dHB1dEJpbiBCaW4xL0JpbiAxOiAgICAgICAgICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFRSQVk9QmluMTwwQT4iCipPdXRwdXRCaW4gQmluMi9CaW4gMjogICAgICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRUUkFZPUJpbjI8MEE+IgoqT3V0cHV0QmluIEJpbjMvQmluIDM6ICAgICAgICAgICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QT1VUUFVUVFJBWT1CaW4yPDBBPiIKKk91dHB1dEJpbiBCaW40L0JpbiA0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIkBQSkwgU0VUIEVPUE9VVFBVVFRSQVk9QmluNDwwQT4iCipPdXRwdXRCaW4gQmluNS9CaW4gNTogICAgICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BPVVRQVVRUUkFZPUJpbjU8MEE+IgoqT3V0cHV0QmluIEJpbjYvQmluIDY6ICAgICAgICAgICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QT1VUUFVUVFJBWT1CaW42PDBBPiIKKkpDTENsb3NlVUk6ICpPdXRwdXRCaW4KCipKQ0xPcGVuVUkgKlRvbmVyU2F2aW5nL1RvbmVyIHNhdmluZzogUGlja09uZQoqT3JkZXJEZXBlbmRlbmN5OiAyMjAgSkNMU2V0dXAgKlRvbmVyU2F2aW5nCipEZWZhdWx0VG9uZXJTYXZpbmc6IG9mZgoqVG9uZXJTYXZpbmcgb2ZmL09mZjogICAgICAgICAgICAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QVE9ORVJTQVZFPU9GRjwwQT4iCipUb25lclNhdmluZyBvbi9PbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BUT05FUlNBVkU9T048MEE+IgoqSkNMQ2xvc2VVSTogKlRvbmVyU2F2aW5nCgoqSkNMT3BlblVJICpCb29rbGV0L0Jvb2tsZXQgcHJpbnRpbmc6IFBpY2tPbmUKKk9yZGVyRGVwZW5kZW5jeTogMjIwIEpDTFNldHVwICpCb29rbGV0CipEZWZhdWx0Qm9va2xldDogb2ZmCipCb29rbGV0IG9mZi9PZmY6CQkJCQkJCQkiIgoqQm9va2xldCBsZWZ0L0JpbmQgb2YgbGVmdCBlZGdlOiAgICAgICAgICAgICAgICAiQFBKTCBTRVQgRU9QQk9PS0xFVD1PTjwwQT5AUEpMIFNFVCBFT1BCT09LTEVUQklORElORz1CaW5kTGVmdDwwQT4iCipCb29rbGV0IHJpZ2h0L0JpbmQgb24gcmlnaHQgZWRnZTogICAgICAgICAgICAgICJAUEpMIFNFVCBFT1BCT09LTEVUPU9OPDBBPkBQSkwgU0VUIEVPUEJPT0tMRVRCSU5ESU5HPUJpbmRSaWdodDwwQT4iCipKQ0xDbG9zZVVJOiAqQm9va2xldAoKKk9wZW5Hcm91cDogSW5zdGFsbGFibGVPcHRpb25zCgoqT3BlblVJICpPcHRpb24xL0R1cGxleGVyOiBCb29sZWFuCipEZWZhdWx0T3B0aW9uMTogVHJ1ZQoqT3B0aW9uMSBUcnVlL0luc3RhbGxlZDogICAgICAgICAgICAgICAgIiIKKk9wdGlvbjEgRmFsc2UvTm90IEluc3RhbGxlZDogICAgICAgICAgICIiCipDbG9zZVVJOiAqT3B0aW9uMQoKKk9wZW5VSSAqT3B0aW9uMi9GaW5pc2hlcjogQm9vbGVhbgoqRGVmYXVsdE9wdGlvbjI6IFRydWUKKk9wdGlvbjIgVHJ1ZS9JbnN0YWxsZWQ6ICAgICAgICAgICAgICAgICIiCipPcHRpb24yIEZhbHNlL05vdCBJbnN0YWxsZWQ6ICAgICAgICAgICAiIgoqQ2xvc2VVSTogKk9wdGlvbjIKCipDbG9zZUdyb3VwOiBJbnN0YWxsYWJsZU9wdGlvbnMKCipjdXBzSVBQU3VwcGxpZXM6IEZhbHNlCipjdXBzU05NUFN1cHBsaWVzOiBGYWxzZQo="
    
    if ! which base64 &>/dev/null
    then
        printf "Error: base64 command not found"
        exit 1
    fi
    
    PPDFILE="$(mktemp)"
    
    if [[ "$(uname -s)" == "Darwin" ]]
    then
        printf "$HCPPPDB64" | base64 -D > "$PPDFILE"
    else
        printf "$HCPPPDB64" | base64 -d > "$PPDFILE"
    fi
    
    lpadmin -x "$LOCALQUEUE" &>/dev/null
    lpadmin -p "$LOCALQUEUE" \
        -v "ipp://${PRINTSERVER}:8631/ipp/${FOLLOWMEPRINTERID}/accountdomain=${ACCOUNTDOMAIN}/username=${PRIMARYUSER}/providerid=6" \
        -D "$PRINTERDESCRIPTION" \
        -o printer-is-shared=false \
        -P "$PPDFILE" \
        -E 2>/dev/null
    lpadmin -p "$LOCALQUEUE" \
        -o print-color-mode=color \
        -o print-color-mode-default=color
    printf "Added print queue %s\n" "$LOCALQUEUE"
    rm "$PPDFILE"
    
    
    # printf "%s\n" "🦄🐸🐣🦊🌈"
    exit 0
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment