diff --git a/2022/day01/CalorieCount.class b/2022/day01/CalorieCount.class new file mode 100644 index 0000000..e435673 Binary files /dev/null and b/2022/day01/CalorieCount.class differ diff --git a/2022/day01/RankedCalorieCount.class b/2022/day01/RankedCalorieCount.class new file mode 100644 index 0000000..e97173c Binary files /dev/null and b/2022/day01/RankedCalorieCount.class differ diff --git a/2022/day02/RockPaperScissors.class b/2022/day02/RockPaperScissors.class new file mode 100644 index 0000000..2a140c3 Binary files /dev/null and b/2022/day02/RockPaperScissors.class differ diff --git a/2022/day02/RockPaperScissorsP2.class b/2022/day02/RockPaperScissorsP2.class new file mode 100644 index 0000000..51e2bf3 Binary files /dev/null and b/2022/day02/RockPaperScissorsP2.class differ diff --git a/2022/day03/day03_algo.txt b/2022/day03/day03_algo.txt new file mode 100644 index 0000000..b2945ae --- /dev/null +++ b/2022/day03/day03_algo.txt @@ -0,0 +1,18 @@ +Build a function to return the priority int value of the input char, must be case sensitive + +Main: +Declare string bagContents +Declare int priotiySum +Open input.txt + +Start outer loop, continue while file has more contents + Read line into bagContents + Start middle FOR loop, iterator i, continue until either iterator is bagContents length / 2 OR find a char match + Start inner FOR loop, iterator j, continue until either is bagContents length OR find a char match + Compare bagContents[i] and bagContents[j] + If match, prioritySum += LookupFunctionValue + End inner loop + End middle loop +End outer loop + +Print prioritySum to screen \ No newline at end of file diff --git a/2022/day03/input.txt b/2022/day03/input.txt new file mode 100644 index 0000000..fd343d8 --- /dev/null +++ b/2022/day03/input.txt @@ -0,0 +1,300 @@ +BzRmmzZHzVBzgVQmZLPtqqffPqWqJmPLlL +hpvvTDcrCjhpcrvcGGhfLHMlLtMCqflNlWPJlJ +hGjhncHhGnhbTHczBBZVVSbRwgSgRV +rWVQjPQQjGRWNSrWrPjcptwBpqqJBtJBBcZgMdtq +zzmmpzfTCFpTlMlJJwBgMlqMBt +TvLszpbhhTLmsnRQPDQGWDWRvQSR +zGzvLlGlQHLGBQZlhBWhdjRdmdWRcjPj +fTJNfTfNSRWPhjdjfj +pbsbVVnpSnbVTprnbqqrzvLLgQlGLPLHll +ZCCCsWvNvmsCsCmZLZmgMLRpQMhwQRpQRfphfprpTfpM +tlncPjzlndctbzcPPBcjwDphwrfGGDffbDRpDTGG +cdqnddwzqjNVWVLZZLZq +DTLbDbRrlQbwhhNrmmfwdt +zzMJMzjCjJJjvLjMPJpcgPpzfhHdfqWcqddwtwfqdttcNtdN +pJCzVpCvDZBLsVRQ +STzBBbJzRRBZBRTqCCsfZLtNNLClCsfh +jsQnnQjjHcvQFrcPwCmtLCNlvDfftfff +sGFscMQQMMpqzqbMbd +QlNDWGsjQjgQllWQsbtzqTJczTJcbFmmFJJP +MhLrhgLVndRmzJFzVqqJqP +pSLnMdwhwdRZRSwhLZwLhdGWQjlsgWjNQWWSvgBsWDlj +THjSRFSddTjdBTcPLcVVvVBw +GzWnWfndWfznDfsnsBsPVwVwPPLL +zNflzJWqqzQDdSStHNZNpFFtbj +FSzDmsFSFlDlBzqVjqHHjHHpVgHLbp +rTrTtTQQntRQnQJQgggHZttVgHLBLhZL +WTJJRRQCRRJTRdBCRdvRNDFSWFMPmDlPPSsNPSzS +WQldlMtMVQgVMQHnDGbHGGnRnQmD +rqcZPrCFjmHlbGjZ +zSScchqwchBzTzFzhhSlcCwNtdVWWJgsVdMtWNgNVWTJTd +lMZqjMWllrTTspjprWWSSwgWNSVNDmWGVwFwgN +cdCCdLHcnndHJnmCRntLBnRzDvFNtNDVzgSgwDgFNVzFVv +BRLcCCJCmJdcRhfjPPZphrlrPqlZ +GdGqcrrZGDrvDJJqJHcBvmFFgmFMMgMgBtMLTssLmF +NbPVPDlljPmTmsTj +VfQDhflCCRWdcrQwJvvnJv +RLcWgLCqqPQLcqZwzHgwmmrmmtgwTw +DhbhNrMpnJSDJwVTHmmTVnTTVj +lrsvblMDlcWcfQPQ +PVldlphHwGwJJGdjZZWsRbbsGsNWrWQbNbQR +SqcDvTmDLtfmSmtqppfqzTgTQBrRQsbCFWbNNFQFBBrRbLNb +MgtmTgtfpqVlnVddZMwV +BdmfmPBPSbSNdGSdvWrwcZrccZPPcZnH +jzzLsjsMRlQQVHwswvvZrCHrrT +VqhzVFzplFlpLwpMphLRQQVRmSqgbdGtNJBmNSmgGbtggSgt +DHVpNZjdZjFZWVFHpvFvzmlRzPnlfznFRz +lrTBTsBwwMbrrwLPPfwGmGzvRf +scrtMhMCtJBBBclbHdHttWZWDSqDSjHj +wzqsPmqsbsfqBwPMNRMMZcZmFFNtZM +CgCnhlvvLJgcRFNNBdCpWM +QnQrVgHSvVHjbjTGBbbTHb +HdrVrdqFDdZVmHgRmDRFHMnTdTssMGnLnPJLbPTbCs +SczlScjwcNzplNzQSSfjwQSrTGGsbTsnTCnGTMCMLMGGbN +wQlfjrhfhQFHqZhRZRtD +RsfJDGJvzPNcjpddSWJWMd +LLCbBCwCrCmVVnrmhQFmbVhdcdlWpjZzSpMdWSpcWczSBj +rrLCbTwnHTvzvNGT +wPhPhbCqqSCrtJDlqvlrJr +RVVZddLFRZZcQLvJJtzptlgPJp +TVQRZGVncFdTGWZdCNShHhfPNwwsWPwb +dzLVzPSgrgDDDCMSMLLPwFmdTTcsvmwNwjNsHcFF +nWBGntQfGNGBflWBBqlpRQGbWFvjwsbsFswbvTHjjbmHTc +tBNJBnGBflQnDPJrPhDgrPVg +VtWztWtqpqzWpWzqjNRjNpWTmrrmrSbnmJwSJwnMPrCSJVwM +sDHsBDhBdsBZGcHvLHDLhhCSnRSwCJMZrPbmnMbJSCSR +ccLRhgsLBdRsdHNTFFNNgqTglqzF +hztlmDhPhgPlPNNgmZMCbmwwQjcwjjwMjVCd +RSJRrRqnqQJFqvnTGrHCcHHCCHHbHHMcMvdM +qGJsnQTRsStsftPlhPNl +BFFBLPRCwsLwhlPlRmhcGGrbmmGjfNTTnp +VJMVpzgqggJnrjmjNcMjmT +VqdSZtQgZvtdzqHqHtVZdVQpCDWWFdwlRPDpWPPBCswlWD +fCWCsjPzcbzwRSzVTzhhDLqvdg +TmJtrNJrBLSLJqgS +ptNTQFHrZlnpFPwsWMbRjCpcjR +nJmQNCmbmlllmbClbfMLjMFqbGBsdLFq +ZcgTWcTnMqqMTBqF +tPgctSnPctZZgDWzZgQHwNmHlhlmzlQhlJlw +ZpTCwpffdslvgShCBhqhRz +FDMPnNFNmBPzvRPRBg +nNgMrnnDGjDmJMmnFdZTTsdsrZrslcwcQr +pTmczpCldcdDDnPttpvWSqbpJf +jgjRZMGHhGLgQrjvPWzPJgJvzStbbq +LGNLLNBBzcDFCBwwFC +nJTTqnrNvTzNMzzNfqrTPrJnwpwPpZpsHccZVsBRpcVHwpcp +bgDhgbghLWmFmStctVpZtBCVCCpfZp +LLSgLGSjggFGbSSbmMnrvqvzjfzTNrJrqM +RRpDmmPMTjwfGmJQgQ +WsNscdnvvdVZFVnnrZbjjflwljlbzfGFjQjq +NnLZsNnrrVVVcvdBLTPCPCRMwhPMBMPhCt +lbVvzngGJnVbJHpHtHNPpdSQvc +TsMBswFZsWMWBZMNwPtNNtRNHcNpSQ +CcZCTrZDsjZTsTsshWhrWrTnfgbLDfJzVVLVVlgfnzfVGV +JzTTRtJRZWmWjrMHCT +DDFGlLGcGlSSSLsFGBspPBmNMBHMghmWNmWjWCmWtH +nSSpnbsGlLDnpPsSSspFtVvffRQdVzqvvbqdfVQwRz +sMhzszlHHDsWbthHDqsbJjpLNtmjVJmVLLVLVLBp +nrTPrGwfPLdprzJzdL +wgPQcTGGzgccwCgnRwgRChFhlWSDqWWQMWhssSsMQl +NSNmwtpSpCpvMphCsr +PHcRGPLJMrsvzsqG +QHjbnRMcfbPbQZmlZgZlgBBQ +cPRPbhQjbQRdtPQdLqLHqzFZjCFCqLjC +mmfsnnwrfvwrfSNZFzHHLDCFNlLlqDlN +wsmrwswwGTffMrBnmQttJtcMZQQtPJPbZc +MvBPDDRRdnnvHPCHZLHZsFLL +rmJcbVqbcjWwWjQHLzTZFTHSzFrpsz +cmwllVqqGJbVVVmmqbQcmgRnRvGhGfgDRDZBBBvRdd +nMvMhMnvhnbTZWSSZgHmGJDFmmNDzBmbNmdGBN +rCsPLRCssRjrLLsrLlwRVrcNJQfDQfdBmmfNBGJNzmDPfB +CRjCpLltgtJgJJWq +jshCzJpjzTPpmCWvSlpfwHfSWglf +LQMMNMnHtDtLVRvwwgRWlldgWD +qHVrQNHVMFQtrrBBQMBcrrZsZbzCZhbbJZJsmmsmFPTC +JZQZnsQNMqTngZqJBVfBfPPVBNrwvfPw +SSmDstFjpDpCszDjcLLhrPVlGlrGGVBwrvwVPt +FSssFcLjFjbmFFCzjLcFLRDnMJnTHRnZZTdWqZZWnMnRnZ +GbHRHpldwGMpWhHpCMBlCbRdVSLhnqJLSrDPLPPLPDqVDrhh +gvjWWQvgZFtQFFNqLnVnDnSJzzztDD +ZccccfTsffHdWWdRWwsw +ClCtbHMlnnPPlszV +gSDWSLgWQWQJJNWqgtQjPsnfcdVcLVdVdzfzVzff +WQgqtFQgDgQSFqJhqhSJvNDRrZMZHwHMCbZhTpZbGHMTMG +pZJZlCQtHFhPfdNfCh +zcmLSVczwcMcLDNFHdLPhPWH +szvVVnBmnTGQtHTQ +RVVCNDlNGzlGZqHGHWqWhGqQwH +ZFLFTmpLvvmSqsbb +TrfpBfJpJMlnnNfNZD +qHHlDClHhltMqQsHDhHslGznwdTnzzwDGSdfnwGnwG +mZRNcNcLLPNPBFFbbPmLmbZFSCVfJJTVndVfSwnRzznfTwCS +CcCWFbbBLCWtgWgHjghqvv +TjbzlnlFmfqCFFVVCRWr +PhMcLpPDtMLpwPDvLPJbMhSgVCGqggVqQgCqCgCgSWvv +btbZbNZhJDJJhDtwtsTTTmBzzBBmlNlmHj +FqhjWtqlqmmsnFPTCvMCQMTTCjQd +pfffRfLpgrgGgzrNVzzpGVzRCdMCPJbwwcVMbQPCJVMVdbww +DGGDZRGrHggzSsFQnnWShmtH +vtHVVMMrvVMVrSHvLgvlHcZFCnRCZcccZtRRZfJFCJ +rdDjGsdTQDcNZfdncCRR +rBDsTwBbjbmbbQswswPhqVmmSvpVhlvvqMhHhh +vGBLrqMNvqSLBvvrNbllLHfwStWWtFttccjtRtjtcj +MhCDJmhMDzmcRRcjzWfztH +ZQDmDhVVCQbBVdVNMvvv +ptCtCzhWPWptnhVzzpGZbZTjTjVjFGjVFgVl +fQswRRffmRqZlgrqqFjjSgGg +HwsQDNNsDsmRLLHmffsfvHptBnhtzCvhWpZWBdhnMdCh +RlHzzTqczBPfbnvcpB +wVtNwpSZstppwwMsZhsdnLvnbtBBmbnLFFdnmF +WNQJMVWsZWwGJWhhSNrQzlgHrDCgQRHpCHrl +RrZWpJZRrZpdTGstlchLGGlLMd +NqjDPCQPnQCSvtMzSLhhjM +nQVQDDDDfwBwNCVCNVFNpWpgJgrRTmLTmTmgRTWF +SHMcrMHpcjGcjSrMMbvSvvSvwFTLJwJNtFGFWJNtDLFTLfWN +zqRnPfzQCRzqsmRPzznhszzLtLwQwwFTgWWLDLgWFTwTNQ +qVPZmRZhsCZPhZlRCqRRRCbfpccMBjvMVjdHjjMjSvdf +VVQdHwBZLVltlddtBczhrzvGcWWFRwgsFG +TDTTTqqTSSqjqnmTmPqPPmTmGhRszvsrzsjRsccgzrRzgWGF +DpJPqpWqHbZpllpt +cCSCFsnnZFnscDtNdJFJtJtdmb +VgBqBsqRrHtNdzmNrt +BGLLVVjRBsqPBfsGwPsMfSSZCSfTZTZQpSphfS +plCHCHlgglHHGpNbtngNrDvBDpfQDBQfZDfWZVrr +mTmMLhRfwhsLPQvQZDMZQBQWMB +cwsssmqRTFFfFgtbCtGl +LQPPrCPnMZwqtRMn +cWTSlJWlcplJdDTdGdpDlGcGgqmtwwZtqRrNRRmRdNZqmgNq +GSJcJSjsjTpsvWGWBHLLvVVBBBrFrzVz +NVPCSPMNDSNFVSWCsJJJmpGmZZGLLcpZLHGGtsHt +fwzlBBqghqvzqqlDrHbpHjZHmGZbLZrHLb +dnBgnDqQvwRnSnnFMFMP +BCbPsFFwCRHmDSBmWnvDDj +phhZVzdpVfQZphhZpRhSVnjmrcvvnrWtDrvWDS +TfQJMfLphMhJdfdzpQJRTPbwHHNlgbGwsTGgCP +ttWLlnnvnNnBBtlTqWlpvpndQdZsQQFssFDdsRFdVdRNFQ +jSgrScrbGZSGrrCGsFVMssFsPPFcDDMV +bzSmJbfCZCbzLwllflwqtvvw +zmFTJwFLPmzLztmjDzTJwfNrdFNrFppBSNRGNGdbrpBR +gqlhWQgsZMsvqMlMMvsvqsNlLbcdppbrRpdbbcSrrbbr +vssCgVgCsggZQZCgsnsqWgWvfJPDLwffwTPPmzTnjTPmPmwJ +SpcRTPQLBLWpNNzjmmwwwRrR +tGlfvGhfnbDlbqlChnfFMrwsmwNssTMHMHjFwv +ZlhtCtffCdWcZWZVVT +jTTCcWHWJNgCGTzTmnzrmnGn +BwRRbFvtvvQmJJFMpMJr +ZBBwLvqbBZsRsbVsZSqbcZdJjHHjhfPCJfJfHhgc +VrnDSvvrLrfTdTLGfdRp +zcJzmcFcHGfdGmWTVd +tHsMhwPVctccHFHFcbSDbbPjnNbBnbvBQB +QttWQwLTnLnWTtnffnLQSBFVjNvBjBFNgMdCsVWsjv +pDqcmmRPHqgVBddjvN +DcclzbcbPbJLnNTfnw +plRcpsZDGlGZvWvMCNcLtttq +SrfrwSjSVrSjwbmSrHzmHJCQQPQzqttNNQJMzJtqMW +wSHVnfHfWwwHWFVfSnfgmmRsslFZZDBBGZsZsDTdGRTp +qSFQSgQNgQBrBHHcrW +VTmjVJLTwlTmwTVmsMJMVlJmPvcbvvbCBbGBPjGvBbBGWcbb +DnJTZwmnZRhnpqNdWt +dTVHjZLLZDVCfVHtLDDjQbscjWbSJMJPjsbWWb +FnqrnmzzFllmsWwtsFtQMMFc +lmqzzzngGmlNNBqGllzlBNRvptHHpTCHpDLpgDZdgvHvDD +sdRZQbCfZTSTdlfTZCffccWPHPPcPPwLwctRnLWn +BBJDzFVgCDrCJrqDJJhqJVVMLPHwcctFwcWHHGLcwGwGHnWc +ghpJgqqjCZbQdZpd +tbcpzbHSszcHBgqHGZgJJJhhww +jfvdvRTffQQrrFCRFTnGwJRqNRZVpJGZLZggLh +nQTjTnMndlTdQFMvnrClCnpzmzDtbbmBbcPSzzlmmtzP +BqBqTCSTcqHsJHHM +WWPGVPLtzVgWtjWPGzVjzVGcbDhPsRbDcsbJwNRswRDRss +VQfWjfLFGWLjdFfVzTZZpJTpnmlTrSQlBl +jLNsZjqSHCsGdsmpsm +MvnVFzWMwMVWzfnVDwfBMfnnrCtdtPmPlRrdrJCJrtPDrrPD +zznfFWwMfMfFMwVTMQFnQjhjgjSZhCNbLSTcHHgbbC +GGtssttVmvnnGNMQrrVzgwVrCWMz +FdhfhhcCDhHLfzclZMcrwcQMZM +HHqqCBhHSSpdmjGqmGjtjtjj +bbQLtGMQQtQRQtrDtGprrrbCqwplZhhqSqmdwvdzqqqhSmpS +FsJjJBfnsJcFcFfjVPjWBzldqhqnlZZZzzhmnSvSnm +JPcFfFWjFHJVVsVjPVscsDlLNRHGDbLRMRCDNrCGbG +JdMdlMRJnTwdvcjv +CDLHbNSzzLFgHvnTjrswBNBTNT +QgbvzSFQmZQPQQRW +NTBrNzrpjjjCwGbB +FRbQlcvFvcRQQlRsMlRRRZjwCqMwjmjwJZdLJmjCZC +cVPPQcvlWDNhrbPz +VdbVtbbZJdtJVVdDVZmTLqqTSQvNLjjDShhvSG +zplpnBnFpnrrlghGNpLNqHvqvjNj +cWncllnlPFWzcMwtWWtsVLVRmJWCds +ShLSTnZnTSttTSbLQdfSZTMwcDHwwcHnJvDHnlnlclMM +NmPMsssRrVwjDclHJwwR +gNNMWGzNmqGdtfZTbGGb +sWNNlRHnmJtmntJt +brbbBTbbFbCbqqGgBTrCfmQVVZfSSQQSVtJZSrVZ +bbFqvbDvvGGLGbCCtBGDLbLlcPNHhhccPNcdPPchlsdR +DCFvDvnCnNfMBmMMslDZML +SQQQJHwpSgJSJHQWSWHqJWWbmcBBBLLTsmhhTcZbMhmlshcb +RJRgpJHssgwSQHRqsQPGGjjtNCrrFvvnFjjPrP +mThmsgjzTPjMpcvtWP +GNNBVqVGNZbbNbNqqZQVNVNbWcpdtMCcpCtMWCdCPpQccmpp +VSmNrmmbBfZVlsrssrLTRhRhTn +TdmCvLDCpTRNTdFbbWnnSWCfhjbbzn +GrrMsPVGcQHBGMbhjjSgWfHHDbjb +BPBVqqrQPsQqwrrmmmJdRLDDqFRplT +fpDDJljDlCfDTjprjrfbddWthCSCtdPPQFhSSSWW +HsLZgMGbgBBsNzMvGbdVtVQzFRQSthhFPdtP +sMBmGBmbNvLHGMnrDppTcJmcjpqljf +ptSpSJQqpbNGGDDhcMWrlNHcZZWWls +zRLRRRjvvgjHMMsMpWpc +vmCPLCgwvwdnCzmvLbpTbVQqJJPbJPpTVq +TJCfhhJVFffrJJQQllNWcvWhwvWD +GPSGjjpLslBbpLpLqqqPDvdwvwvNzQWGzDDNdzGN +msbRjbpPqsRpHnlZrmJlnVHT +GGfFsCCTvGDsfTTrhsCMMzptZJMdpdgtrpdMcV +LBlwBHPSqjwwlVggHpnMZcVHMt +ZlZZlBbRPGGTGfmRsD +CtCjbVvzQQZTWVdd +MlSqWlmsmGBSHJHTDFHZ +pcqsmsplwsqclwRtRWgtRnPPvb +zCrzCrsdjrhGDCFqGDjRRPtpWfQQcpfQZcCZPp +VSVwVMgLHHLTwMDTMMVnbWPRZQRcRQPptWnpbZcb +MNBBBlSMvLVwTlVTFdNdhNhFsqsGDrzm +rBLWTwTThWwVVDTwHBsZZWppvpGtpptppmRvFFFMFMfL +qPPNCCbqcbcNqbqQjjJQqzjRpptmlpMGmMlJtftmtFHpMt +QnCgzzQbbQqPcPQnncbdQdnVTwDssZgrShBTVgZZsBSDHT +PFGJFqnfqmPgFJQPWdbLdpDRhbphWjDm +rclNHvcrzCNwrWRprjdMMMph +wsZHwZNvRRQsQqBV +LqlGCPlPLTCPqqQlpqLlWfBfWgcHNRJRfWNsncGH +VVtdwVtDDdVmhrdwSBmjbdzNHgfgJnNnsSnHsNffHgRsgR +wVzhbjmDbDrwjdbztFDDthMCvqPppZQBQLZQTqTvFTvZ +BnQnQFwRmRwmwdBSFDFnmSDVLCJTCTppVVmGLVTCLcgVpC +ZlWvhvZjNrbNvqjNhlfPfqjCGHrsspggTpVLpsJCpcJVgg +vPzNvqjWhqFzGSnRGMDG +wZnMZzzZZchDRtVsqtCtwV +WmWpWWmPPWrmrmBmWrTlTFPNVqVCRSDCQHcqVTtTqsSDSTSD +PrppdFlWWlfrWmpWFffrdcGjJJGggnnhZGdLLgGGndvz +FShHNmNhRhNJmBnQBQJrmP +VTgzDTjwfffwzDvwlcczzVSJbQlBQSWBWCnPJPbJWWbC +tzSVtzvSvGSRZqqFMNtpRR +hPZhGDZpnCGtDhznjmLmdJffdNzJ +glwsSrQwBvLdgLzdcj +QsRbHllzzlHwHlBszWlTBFbpDPMhbPDVGpGFpPtFPp +SRjStRDctgDSBzLvPvNrDhmPLr +QqTHGTPJmmHmhNmH +TGQZsTqFnQZCJTPsnJnZQMjVRBVtcVRSVRBlwccSCtBS +bbsNsvsvnNPTRRllbblLqhtQCqQSLCGGHSqHNC +wFpzFgqVzqVJWFDwqJDmSBBmHBHhShLQhCGSBCGH +MJVpFMqgwMqRRbZsMbZMrP +PPdDhvNDQdmgQPZmQVHHtHGGWVGbffWGvs +MMLCTRRLlLclTLRMRLCwMLHWVctbVVHWWWFfVjVGsFWW +MRSMMlpTJRqClBCRqBDnzqgQPnqgznZPZqbP +MrMNPNNpjvdprWtrpMsthqBfqlnfqcGhVBqFRcnqFG +QbDgSSQbgSDDmDVmlqSCRllRcFqnqfBl +QVJbVmwwDQbzVTgbppNJNMWNjNNPrdpM +WwJJNbtHfpLpVgZZPVFhZh +vmmqlDvRvRfqBSrlzmmMjRBhcVhQVZhVghCQQQQTcTrPTP +jSqMmqRzMDDjvqlBqsBMBmmwGNJwJnwLNfbGwddswnJtJH +RLgRmRggbvbzzPmmRNmzsQWFtSGNtwSNQnntFwnnCw +pDBrBHpHhlldphHBHhJVFSLnWWFJttCtQSttSS +hfHrpphHBppfTvmzgMmbLbgf