amd-mixture-of-experts · submission 29917
KernelBot user 44 · python · License unknown
Use it
Vendorable · source mirrored · license unknownView source →
No package. Vendor the mirrored source: 1 lines, June 9 Researcher Reciprocity License v1.0.
submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mixture-of-experts-29917?include=source"interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesfp16
Benchmark evidence
2 measurements across 1 GPU, fastest first.
Operation / workload
Hardware
Latency
Rank
Observed
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:6f5c2b4aa394011450db6a314b95a22e2cc043d7ed43b2db2660d5dc82e866d1
license declaredunknown
license concludedunknown
imported2026-08-15
Kernel source
submission.py1 lines
IyFQT1BDT1JOIGxlYWRlcmJvYXJkIGFtZC1taXh0dXJlLW9mLWV4cGVydHMKIyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvciBNT0UKaW1wb3J0IG9zCm9zLmVudmlyb25bJ1BZVE9SQ0hfUk9DTV9BUkNIJ10gPSAnZ2Z4OTQyJwpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdG9yY2ggaW1wb3J0IGVtcHR5X2xpa2UKZnJvbSB0YXNrIGltcG9ydCBpbnB1dF90LCBvdXRwdXRfdAppbXBvcnQgYmFzZTY0CmltcG9ydCBiejIKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBydW5fZnJvbV9weXRob24oaW50IHNlcV9sZW4sIGludCBiYXRjaF9zaXplLCBpbnQgZF9oaWRkZW4sIGludCBkX2V4cGVydCwgaW50IG5fcm91dGVkX2V4cGVydHMsCiAgICAgICAgICAgICAgICAgICAgIGludCBuX2V4cGVydHNfcGVyX3Rva2VuLCBpbnQgbl9zaGFyZWRfZXhwZXJ0cywgdW5zaWduZWQgbG9uZyBsb25nIGlucHV0X3NlcSwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGV4cGVydF9zY29yZXMsIHN0ZDo6dmVjdG9yPHVuc2lnbmVkIGxvbmcgbG9uZz4gZXhwZXJ0X3dlaWdodF9nYXRlX3AsCiAgICAgICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPHVuc2lnbmVkIGxvbmcgbG9uZz4gZXhwZXJ0X3dlaWdodF91cF9wLAogICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3Rvcjx1bnNpZ25lZCBsb25nIGxvbmc+IGV4cGVydF93ZWlnaHRfZG93bl9wLCB1bnNpZ25lZCBsb25nIGxvbmcgc2hhcmVkX2V4cGVydF93ZWlnaHRfZ2F0ZSwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNoYXJlZF9leHBlcnRfd2VpZ2h0X3VwLCB1bnNpZ25lZCBsb25nIGxvbmcgc2hhcmVkX2V4cGVydF93ZWlnaHRfZG93biwKICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHJvdXRlcl93ZWlnaHQsIHVuc2lnbmVkIGxvbmcgbG9uZyBmaW5hbF9vdXRwdXQpOwoiIiIKIyBDb21wcmVzc2VkIENVREEgc291cmNlIGNvZGUKQ1VEQV9TUkNfQ09NUFJFU1NFRCA9ICIiIgpRbHBvT1RGQldTWlRXYkJtOE80QUhYTi9nSC8vZnZWLy8vLy8vKy8vLzcvLy8vOWdTMzd3QWVoNk5COTQwK3U5d2VkWUx2azRhVXJNMTY5SzlkT3RlOXRkZmZQcnZ2ckhRdDMyN1BlOXJ1dVhCazdZYzdFdWdKRHIzMTF2dnQyOHZGclo3NzY2ZTc1eGVLNVh1WFVQWWU2a1JxU2EwMzNkZDF1RlJ1ZDd2T0N2bmlXNWUrdTdkdDBYYzZqdXpUcDZmTmFYMzN2dlhTVzIyTGErZmQyOW5lN3U3SWVnNjhYdTZ5cWVkTnp0dGxzcmU3ZTNpT283M2xlM2Q3dDZROWIybWR1Nmkxb1B0M2FyMmJ0eWRuWjI3bnprM3E5M2RIb3ZTUGJQZTJEZHRMcnZzOHV6YmVyN3R4Njk4SlRVQkFUSUFBRUVZaWVqUTAwYUFrbnFQMG1oTm95Z2FhYUdtbnFHZ0hwcUFTSVFRVFNJYlNFOUV5Wk5HbzhrWkptazJrR25wR2hvQWVvQUI1VFFBQU1KQkpDbW1xZWlSbzlKbWs5UjVRZW9lcDZUMG5xUFVaRFFHbnFHZ05BQUEwQTAwR2dFbWtrUW1pbjZKb2pFak5JMVBSaUV5WWc5SitxYVppSThvOUprMFpOTkdRUFVhWkRScG93aVNFbVNNazhVd2owbXFlTlNudFI1Q2VJaWVVOVRhbnBxUEVtbnA2U2Vwb05NajFOR2pRRFJrOGtFU1NBZ0VNZ1JwaXA3SmlDYUtQQ1E4bWllcDZocGhOQTlJQm9OQUFBSEVFZk5FQUVKRlErbUlnTDlQdW4xa0M4SDZyRktCV2lmSGJqQ3NCU0lxV2xXUWlNZ0ZTZlRaaVlmZ29HTXgvTU9Bb1lGSldSSC9wbFFFY1NTL3RsT1Ircmx3dS9NZVBDbC80eWVUbHgzcnBFRVBkc3J4dE9QMnQveDlXMjd3U3lkbExGK0cvRmg5Rm1NVlE3TDRmcmVmdW1sVVNiUHhwOWp4MDJRUk4rQmV6dnBzZkNoZnYyVkQrUnBzMGlJSXdVOUJMRUZrRmdpQXEyd01jUlVsUnRXdFJRUmd2RExCR1lLcCtWR2xpUlNDZm5LQ2RlQmdqSWNFaHRodWhra1VQVVoyT0d0ak1sWmNHeTJxQWgwcFVGVlFFZ3BCWkdaU3FSc3BVYWtoK2x4RHUxaGtPWHFYTjMzTXJCRllvcHVXcTg3T0RNTWc1TjZxOHhCR203dmFCVDE0R013Tm0yUTJSRkVCUTVzckJWWTBTRkV0REtiY05oZ09wV2o2aDd4VFVGWk92b0luQnFubXdmaWVIQzhMeUVlcTQ1QktVWWk4OG9MZ3Zna0taYTR3cDdvZko0WjAzbC9WYUN6a0lqRGtJcXNYRGM1NkRrZENtZTZ3S1lQQVZiQlZCd25BS2hpMEdKTm9ZTUhlaDBuVnlaMUpMNm5MRTM3d3RXQXBrVHJjUVVRNVZqTzJHZFlPeHF5SldveDJ1amVZWk5TejN6cG1Pb1BvTVkzZU5PdGh4ZXA1N0crWFhEREJGVjEwM21JMGNWQ05zSGpqaERvTUV4a1dIT09STjZlSndhV25EQ3NERU1aT0hvMlFobzRqdkp4YXdyRlZWWWlNVUZqeFBWMU5qemJIalE5Qi9sK0UrWm53K2o4M2Y5YjdPL2FyT2Y2T0k1MWszWVhQWnREWTRmbzdnMmNxZDdaa2lWSk8rMVp5QlNLUktyMTltRXpraHNDc09ib1lja0NzSVl6UXVldnRWUkJZb3F4aUNzaEk1dXRpaVNJQXFIQ0lDQW1NVlZGSWZqZ2lXQWlxaTlQUHoyRlUrY0RFUWkwYVV2ZWhaVlpCRkdiSWhpd0JTSkJGWWVwcFdTUlZwWkNDbkdxUmtIWERWUHhaSlNCaU9sc2dhWkRTQUdra3FIaU9XdUdGS003Y25TaVFEUllEbEVLSWdQbXlvUnpJcENFQWl3QWMrMzloeWpnK3o3QS8rRVQ4aW5WRisxdG9qSXNqRGpnc0RlMUo0enpuNnpyTUxzblhMOXgrNVl2MnkvZlZUU3hqSzRmdEppRUVCNWdzL3oyYlRJMFBXSHVRVHRJZUlxdlpvcVNxdzh2TytmcytwUDdoVDloZzhlUlRFLzlQUyt6b0dla08yRWNWMDVkZ1pGVWZNVlpETEFpbE8yMWoxdEhOWmlod05SL29aTzFwSkk5LzFHR2g3MmhWV25JSkFJQ1VQOURNWDV2VnA1RFVSYTZiQk5EeU1ONE9kNjJ6bStBM0VUUVBSMGN0bEJpSlhuaEtRbmM0WWFzU0ZPb1NFNm8rOFJVZHhSZFdDaE5oSm1NVStYcExnZVBya2Zjem9RRUJsS2lSbE1lQzlFd3NIakRYUTJvcUtjYVpLV05NbFJMUURZaWd0Q0pReEthUVJkTHFHdEo3V3J6c3dMUjk5NVdrYXo0RmpwdmUvUk9JK0UzcXJJckZaRlZNeHhqSm8zM3R6MVFoeEpEMVFPUk9PYkFuemRaQk5VYU5HallJaWtoSVNFS0NSMGRWd1hkbmtYbVV4VytKSGNsSldKR1dGcEZpaWlpaWpSbzBhTkdsaGRoRDJlN0l3eG55WmFvTkhNN2FSbk5HY2JZdU9IeFpybTFrL3dkR09qMm4zQmZWK0k1U3N5amt1Zm50dVZEczNHUkQzeExBWW9sOTlKcldUSmt6TmhMYkM4MEQ0RGlkV3l1aUlwUGYzQUVqVlRqTmh6bkNLa3pCbHUzZkhoMGk1QnVYdVplUVFmeUIybFo2V3ltQy91ZDVOQSs2VzNXMkV5RU5aUUprTmxSRWswVHgzQXozdTJIY2tsazlvSjdteE52OVI4TlpGREZBSkpwSmlGWVlNR0VROWtRR01JR1JtbWEydFo4bHdtNVdJbFBFZWljMHRzK1cxMDc1Um1RaUdlU3R5QXlhRUpHcVRZOVBkYldmcE43ZzFrODRaV3RpRDdiRFhUSXRqNWl3UXNJSVk3NUw3MEZkVVJVQ0xwTlRtRnpwRVFZeGw4WGNjK24ydy9tSGg1cERFWjhvLzJkNCtLdXltSHRCRjZIdmMxOGFsZmRoNFBCLzAyeGRCcCtmVHJqTDE1eU1DUTlQWVhYVE9nTVFBaE1iRkZlTE1kWHpkbCtBWm1JZk0zZHZ6RU95WjE0Y1pTN0VTUUtBVTBrVXhxcHhFanVsblFrcnFuMDdqVlJwWURTYmcxZ1FiWVhXWTY3cmR2bTE2UGhmMndodTNUaEQwUmc4d0o2UDluT2Q3TjVVMHRmRU80OWpZelJiRzVaemR0NUtkalIrRGNBeDFtQXR2TnF3MU5WSFg4cG5OdmkvZTZxaDk5eURNUFU1R1RGOXBodUluM2pvamJ5YisvTzQrT0lkdE9YdSs3bmVnbXhhbmFYMVZQaUhvSkdFSDh4eUZGZkNiek9LMm1zeTF4TWJSZmc0eHNaVkVsTFdvZ2c0VzJXd28zMnMzdDZwMjE0Y0ZudVVZeHczRkZxdXVvOHZ2bWZkc2JuTFhqeEtwMTU4NldnMk5qYkxHQWVab1RwVStqcGtBUXpxVWlnbDBrSzdsS2d5aGh1dTNmQ1h4K09hN0FNUm81RkFYUnpjcGtvOE9ybjZ2Qk9EUktCL1NSbkFxTm1DVVZCR2REd21GRElsQW9VaE1sSmM5dGUyQmFISHhIa21qeXEyWGk4K05kMXJsKzR1SkhZZWJ4aDNCZ3M5M2J0Ty91RWQ3aC9leVBjUVlJRHh6SHVITThlTXdsb0pvdDBUTVJIRnVNMFJWRkd3R0lZaVNJYWVGZ1VKeUp4Z3phRjNYS0xlK1NiQ3piTnZEODNKdGk4UmxzTWpHQ2hxQTNMaEVpS0JxQmhGNklHcUxoK2t2ZUwzRmFIYktrNHNsOTdraXNVUTloNFZFU040UEhEZ3dCSHJKQ1ViWkVGRm1PdWR3S2REQjdpa1I3dyt2SjJjWEF1RndrNnMvanoxSjdpT2VwUXJ3Sm9KZVBjaVRRM0xaSnhZM0VEOEduUVdBeFVvWkJrUmtvYUtGWkg0Wkpsc2VSN2xJR0lkRFF3SlF0Y2RuU2krV0FjQ1lIQzJaWGg1Y0EwQm14Y2l4T25DK1R5bGVsa1JWRngzZVJodnZiZWhySFZTcWd4S0lMWW9wUzdJS25zdDIxYTNFWUdNZVh1Nm1MY0xCQzB3eWt6SnFvV0VZVzhtd2NqbHNxTnFWMGd5aGhvRTNoMURodkVwbTdrdEliQkN1WU8yWlk4R0RLR1pjTEFYQ1MxSWxYR1ZkV0VOeU5sMkNHMWt1MjhNbGhjcThnM05HWVV2Y1ZuWVp6bUJPU0FJZ3pna2d3SHp3cnJRTmJpa1NERmxwVVlVQmJBSG9PTjcrL0NZeE1QT3lnamJmVitzVkd0cEtYSG53WVN3TTJ3SXdTTXNSN2ZQMlYrWnIrS1RyYlM4SGdOVGJjYkx2cVpwUEJKWXVXdXp0a1NyVXNkUlFxMUlnTzQ2MHNFWVlmQW5OeWhVajJRNSs3ZWV0aDl6MVY0bjduLzN0SEZDeGtnY3NJYVhqalp0L2NMSzllVXN6dlpkb0hLcUJzdjZPVTNhcnpJWUVrWUVCbktGQlFCMm9uT2ZRSkdTdU51dWZkNDdlWFY0aFg5TjRKRTVtRWNNMUY2c1NXamYzekMrWFB4V1kzc2M1dXB0aFNFU0ZwYitObURvMVp5Z041WFFlYURrd3FRNWRwbDVrRzIrN0pXRU90ckRmZmErNU8xcFhLenNYcXNrSklISmwyVTBEYXM5OS9BK3pHSHRCV0VWSmlRT0cwMFc0WTkySldSTzlreDNzcWFrbkpON0dUeWNIcnBOeG1pK0kyT3pDVVlyNzhoc2JuZUYrSXlqY1pudlNDNkJ3c2c4MDU4M1ZRaWVaQ1lRWUVFMFFzWUhNcm1YcTJiTGNVTVN4dFU3dlRkRklhTGxqSlF4cEwxTnNKa0dNalVKMlZuUVFjS29lUjdZUDNaMTYzY1FPb2ptU1JKQjBJcEVrUklDZ01TS3FrRVNDUnFTUlNneVZzWUxJeGdzT1kxS0o1dGFVZE1OYXR1aldQVHF2SVRUa2toRzZtVTg3b3VHL1hLTWJCaTY2NDVyRmdhZ2RaVHFOdHNOaEhkRWNFNkdvV2F0eGVxSWhwZkpOa3pRME5EUmE2cTZhc0dKODErV05ERlhncmZXUU5jaVM1Qlp4NDRjT0VRSnBDU2ZFTXZyNVBvOWx3MEllT2d2TVY1TEd3NlVhOHVLbVJrT2YyZGh3NkFZd1RBVzkzNG1rRVNYalk3L3ZmWXFESWlzTlFKa2hDYy9WRHc1NytQUFN5UlRPcEIxdU9ubzM5cjR0MjdVcm11eERIQUl2SzdJK0g0emZTNWhSb05ucDQ4SWVrclk5ZVRxMWluTWRUcmJFbW95aUJ3YkdZdlNiSmx2RDJ2WnREZHh0bVNGR2t6TWZFUDE1K2ZzT3psR2VSSnFCTW9DakNna0tKSVVEQ1ZFbklweE93Uzc3aHBIbDU0UjE1ZWM0WlJwUGVMSVFzeUx6QXBFWVJmQUVKRFlJYkd3UFZHS3d1bDQ2NTZzZWZPcTRRTjlZeUxOUVFLRHdiUk5FUkZvaVlicSsvd1d0WTJPK1N2UjVQQ2FWNmhtYlVwOEdxUVJ0VjZhN2V5L2ZvTERRVE1UTGJhZnBRbDRxRGp0UEVZRThJWGIwZVhaNHRqWjhsVklGUUQxUFpoc2RkcUt1b2c3RVc1NkhWdVFpdFZ3OGpjWGNTcG8wQWpLMUZXZDBOZU1UOXFIcnRtZW9ySGI3Z0pyclpFNzR5SjFSU1JBdWlJUWpJcE5LUnFMdTY4V0M1QmQ3SEpTT3VCN0hwOXIzK3g0NzRFczFZczhRYUJmWS9pZ2FCM2EzRHFZTUUwM1o4S3N2dytaM3d4dDVuYmZXb1p0engreGZKc3RQVU8yQUhvcFBoWWUxN1h3Z0FZd2l4ZnpGQUhFOXdDTEZXS2g5VUN6SU1TREJHS1NRVG9uVDFrOWs4bGlsT2JuandRbnB2UmFHSHhVNUhtMWdXUHRmancvUDc5dkRiZWUxaklTZ25FdHFNSU1rWmdnMkxZR2ZHb0hTTGR6OGRtNDNCS1hhWTlOaXNZbVptTndUNHVGamxsd1JoQ0RiV2hWajJQb2k3TDYrbEtZZjl4RklQVFN3emlBeC9QZnNoK0F0N0NZYkRXTzVLY1Byd1JZRzIwMmRac0pmZnBhZGlsa0lUUG1WNkl4dkpjRVZsYStySzh6VWZFUG5ZK1IyQ0VRT0dvdnlNTzdtSWpFOGJTL0JZb09TT0I2WURlR3N6ZCtTZU15bSt6M2hVQ1luY0p6aGc0OVFuUWluZVhORjJnbXNTaEE1VDcvZDZzalpCRTdZK0hRYWd3T0JDSGtwemh2QmhxTnhvV0lOenJMRitCczVSdVNRMUFEWFExWXcvTkdlR3JnK0JrbmJDcGlHZGpGMXFVdXN1VnpDSk5DRGdVVURNUFFUVk05Rk1lUG1ReEJzNUFsczVNSDJqOExSMktlWDRUN2krdWpPc3VxUHk1eC94N284R3JSallNNStWdnpZUEpqMlE3amJCakdBa2tHOUxseTdjQU1XTzZlZzhZaEZCNmkzOUp0T1k0UXVDNjF3WHRlc3hSUk9jOW1MejEvbm9ERk9pckMrcFdSOUVueGdMb2RLOWdodzl2NUhGMDc0dzNmTWVyWEFxT1hobGhxMmU2N0Riek9tVFRieFp1WXI5OE53dHlLQkhNajA2TTBNNWdobDZJR2FGQlM3ZGQyTHRsdHZPclFYbCtqWVdjZE5yejFHYyt6bjVtMTcxeGNGeURKYmwwSllTYjQzNHY3SzZxS2plL2xJajFzS2VOUWtMTjZETWs1SkpINnd5UWVxUUxBL1g0OHRhbnlaRHppbS9lMTU2dkpuQ2tRSVZlUGprc3RFRThUQkMvRkhSRnpvSG5xSHZEbThsckJTYm9ldW5NZm9KMDJ5ayswTUNYMXVlaDlycm51WkdZaVVRYzRwdWVZNnFMQTlaZHo4bFp5c0U5bHQ2V1J1am8zY01vVGkzbGRmVmJPWUVlSFVPcnBwdGVrYjlqOE5jdHN0NnIyUWE1S09zUkNEMjZVWDZwK1k2alllSWVWTk5ZS3pDMWRINk1FdXZGSVBwb2NramNoTWhXSGhOaDVUaEF2ejRicDFjSmw5a0FvNHZWVnMxQnVVSjEzYk1GN28xNVNKSzhtUUVkNVJLRmJNYXI0WFZjdS9GK1R3K0RMRXJNSm1xQWRreVlvRnFLSno5WjExWHl2ejY0eTJYYWNXTXFWeXVjUXo4K0RMbk1QVGErQ0thTmphenpIc3I4ak4xRGpadk81YXNIS1l6Ulg1SWlpKzZSYm9RR0RGSERGRWFncVV4akdNWU1Sb0lNakl5SUZva0FnS0UvUXVzZ29mS3FZOFBrSHFLb2g5Rk0rRnk3YUFDaEFBZ0RaMVVaTm56OXV4NTZtNVo0VzliYjJxUjZZYmUxTTdISklodUhRYzZwUUp3aERiVDU3R2NUS1I1S1IyMGQ5Tkp6NHRrNU83c0R2VXV4T1RxNkdiU1c1NUpCYXpTeDFZWWFzV201bXFoY3pkck5va2VhRXdrMWFlSkU2TlZMOFhSUmhweVcvWnp1NzlJSzJXcVRrQjRlUkNqTFVYemViVnl6UGREY2NGbVp0WExISUxHOG1Na2VndFVDMU04bVdtSHJjWGlDc0t3bE1lODg0OEtBd0JFaUVIQ08yd1lNbk82U3VNR01hQmxHcW9XRjM3RE81VWFHQW42QWVUTUZxTTQyUE5lVmxaU0Y1ck1LWXNITW1TWW9yZDI1aXpCU3lUYUNCdk5nVURaZXpMd3FDK1JpREVGYnhudlJMUlU2TXBEV3VXOHZ5OHJhT0w0czkrU0dGeDdwVjRDQXg0YWRKUmhNeFRtREVaT2JXYkMzTHA0c3VJc3FydTZLY0wvQ3A1WnVpb2VnTzh0elN1a2RKdGZLMXN6UWZXbHVLVTgzUnQwelNjUS9zalErTyt5N2hrUXBrR0RZYXFLc0xMeXE0bWgzR1FidDVuMUF1OTVyZkx2RzJIU2JCakhoTmp0aUNpdHViR0pGSkFFRGh4ZEs4WiswaUdNQzF3amhMb0hRTkxKS0RuNmVTSXM3VlM5Nmo1YjRSZGZBUVp6Q29ZVytzR3VqYnpnczBHU1Vwd3NzSzlmWjlnMTZUV2NJOFpkRUwzRFQ4RDVGUkhwV2ZBNk9rTXBpSERudjNlQ2ZtMU0wVkx3bmlMTVdXVkxZSWxxVzAzc1A0UXVpVlJheU5ydWpFNngvUEhpOTlGbFlhQUs0SXJxSDFBNEVJN0NpbkRpNlNDRXFFdzRJVUppS1Juc3FLOUljZCs0MDZlZEZwU1hPdnhFSGlTM3J3UjFlWUR1UXoyR0NZd3c0UFdzWE41SkV1VW84VERoTWQyaGpHV08rOFpXRFlSaDZzaE92Y2VPb0QvaGVTbDUyczFQNm96SW40cWdhWEJOR1R2VjVZWjQ2YW1HYndaK3FNL0VNNWFBeFdwSlhBMjArbk1rS2JrMnBsMktJaUNDQ0luZHhNTnczQTBKMEZGOElGZ21pRUlSaW9ZMUVzTVVHbnprRDZpSE1pb2dnakZTSUVXS2loRUlvUVFKRUlERUNRaENlMGowQlB6L0JLOExnVDhYd2ZpZE9NaHFSZnk2b0lqbDR2SkxXbWo3ZjVLZFR0L1c3TFBYTk9qeVpzNUpua1liRUlpZEVWM3V5N2ZuUHVUM2xUOHM2dXY1VHhNMitOL3hSOWJZSHFrSVh3d2pZR0RkQktTQjlGNEZlMXFLWlV5bXd3MG9xcEZMd2oyZTMyK2FpRlZBalNTQ2pCR3lPRDFhMGpHMjlRYndPK2pSekR2ZXpleEgyNDhPanArZ1ZFS3pSc2RuWm1qWmZ3OC9kelVtU2Y0UWhSakRnTGJZZzB1N1ZlcXNaSG80YTVxeUd2UUtVdlVrNFVtOHdsdS9SNlEvV0lYZmxBUHpDcWZLUStPQ09xeHFmVWU2SlhjTit1bWNKa1JhZ2JzU1NWMUFKY1lDZFduWHhORjdpWGF0TUxYUS84UlFkVWxzMEJCSDlxVW54cFpLTllUN2drbm5DRmRtS3V1QnhtOHViT2F1RWNyV2xxemxnMmhRbE9UWGFUYUFrRDVxTDl5ZU9pd2ZJa2NSdjNhMUxnNmlHK0k5UW16ejNDYWRHQmU1RkR4L1RSMmExcE0yVXg2RmlGTlIyOGRNYUFqbHl5WjA1THNBN0dVNGJJUVA3b3VOTWgvY2N6UWEzYlhJNUIyeVR1UTg2NE53bHRVY1FTTEZrbTJpMklRR1V4SkpTeW9FRFZXazJSQlpXeGJDbzh0bTVHU1FJc0xqODJpblV0eVJZdDVaZ3g3NHV3bDBKZXRIcGNuZW1kbXpzTStVVGhLMTZ6VzExNUI4aHpwdjFQNjRwOStDbm4vYjhYNTcrazhKNVR2SzhwZWoyeWo4TFVGSWxoYkFLZ1VQV0J3ZWZBYktGMEVKcFFTR1RrQ0JIa2VTM2hUZlNqclJ5SmpVbStYMlVQTGt3ZU02dnNQelFjdnlyQUkrcXAzS0lwT0pTNm9kZXJ5UWs4eHQ5MUw4enA4RzY5WFpUMmQ2ZmQ3YVRTQWhCVFJRSjRrbFVxY1JYcmZyU1gxdnF2MW5CeFV2bk9HWWZucnhkT3JEbm83dU91dzhPcjFITGNlaHFuMlNLZTFHNUM5VnM4Rks4ZS8zN1NUZTBrSWNQVEg2ZkU2ZWl2Ry9YRWttYmt3UnliSWpZYTNGb2hnczBNRUd2SUQwemVmczA3ZlR1M1ljbTJveEt4R2FUZ1lxRjd5WTRXVy84bW5uMEFtS1Bxem1kRjl6Q0I1RVhuaW41ZmFIYmJvNmVLem5DZW4zM3Zjcjk3SmlHS3JEeElxSjRmRi9VWWR6TWZUZks5RS9pMVVITFdJdkFVeFBnc2F1OWxuNi9YMDFza3R0b01FUWVNaUQwNnpMSFppOEQyWkl4TXdXazV1dzVaZjM0bGhmdTVYcWRUaXJMWTU4bGtWTlg4MmIrbktYUW9qUmVycVhSb043MUljK3pRK2VrMFZPZGZFMXZmSHhpTkFvWXg5RW5UbE1WZmxzcnkyMHd2RFh5VU9GVDRPRjFoNDdhSGpUUVkzUWUvQVgzUHJxeXorTGh3WVRTR2dKR2hxYmNkMVB2VUJHWVBWcVFoVVQybmNVR2ZUNTFWQWJzRHlRUWNiMk80N05McnFiZUMzb2h6bkhlZm9BZjN5QkZFaElFSVFnd0lESkVUaEVBOVhxajg1aGJnZmxLQ0JsNEE4RnZXTC95QmM2aXlZRHZQZmpadm1VaTZ4MTBDVVdwS2dwN3hvWVBLS2hZQzZOd1l3Y0Jrb1VpVklOZ2xUVkVmZkdEZEd6QmFRL1FoQVA3WklqUkVoR0FzUmthMGd6OE1aQ2ljNlMxR2twQmpGa1lHaGNwREUvSUo3VEJpR3d4RU5tVFpLd2hqQmJSQXhHMFF4QVRGNlZIRVZjUWFBZ0FpMlFHU2JNSkNlT2NaNnozZVpXS2pyMjArTk54STRCS0pmbGtzUzhLdlA3TFBWNGQzY2VkeXdDeEFvaG56K0drODJxZ2kwSEg4OWl3dmhyeWVpV1hQaUd3YUZrWVF4Tm02TUhubElEWjNncDJVd1VRRlFsZGlTNHVnL1YwYjhwUEw2TGpkRW1sZkF4SS91cW9YaW4zNER6SHduT0dvYUEzZlVmRUFFT0VXRUlna1QrVmg3U0tmZ0VINlIxV1F2Mkk1Nno3cWlRdi9NSW1BSDJDQjUzMmJReUY2MFJNUStpaEExaWZQUFVmTWV2UjZUcEJ3UVBVWjd6dkJjS0IvSCs5SksxQ1ZSU2hBM1U3Q1JqK1dJV2l2bjZFRXlGc053cHFhZ29HQkVoRlhuUkwwc3RUbVdvUGdnVkVzZnRvZ2d3U3RSdE54dERCOTVud0ZQbEpxRGVFNWc4RFVBUVp3d052UHhscHhIL2FZVEF2Z0pDYnNES01KM292cUJpcUdDYWg1aWlsY3dBaHFNQlR1dkNRa09hbmpQY1hkTmdPMTBPUVdDS1VNQ1NFNGpRb3RpSW1rUEZSYkZudVVRdUFDNDQxMDY5MWJvN29NMEtoa09wTHRJTnlXSTJMbGdKWUZLY0xGa0NoUXdpVUVLa2d6Y21ZZUUzUFdPZ2ZkS2VhZStKOVJ1aWM0d1NtZ0VZdEM4SXNpdGdDUUZGQTdwRjlhbVJrU01qSWJBMFFRU3dRSmFnQzBXTWhCRGcrVWlvUUg3SXB4RENrRGpXTUJ1TGkyU0lNWXlRakpMNkJ6Tzg0UVBERUtLb3lCN2Z2UW5jRWh3SjlXMHRWakVSVkpMR0FXaUxDclNGYVN3clVSaVVHb2lEUmxvakd4STJWQld3b2xLUVVUdkJ6SW9iTVdCd2NvaWhrRUFGTnBrNzNKRkE1TlRjY2VBTXdBMWpGNFJEZ21JeURkdHQ2aldIY0llU1V5RkJRKzRlUThRZkoxNWhFSEk4YzkwRCtZWVFmUUVEbEFEdUNJRjhRQUl2Y01FZ3grVDQ2U3c5cnZDeEllSDMyajg5OXRtUmtEOUZxQitRKzZKNGdPL0FBdXozN2ltbVQ1ZlZmb2g5UkNCTVI4dEJ4QlBjaW1wUVBjZklSRFFuOUdpeHRTR2s4anZSbzhBQ0tMejVoUU9Ca0tmSEM4VDhFS0pVQTBMVVVJbVlpZU5RNXcrSSswaU9EMEtMMEFPd0d3QSs3NXczSE9BR2NNczBBS0F5TGdBeHdSQUxmT2NyOGJBZ1FDUmhCbnREMmliampQRnNId1cyOEhnSHNib3NDcnBJRXNWWVNTb1Zrb2liSWFNQzBSSzBFdFZHclJ0TlVsZ0xTdXRBYTJIaUZEZ3J5Z0JGRk9ySXpPbndpRnYzVzlicUVIYUluSUNtVEFBOUJ2VVNsVVBTSHlvRFdlQkJmdGxNR2dDZ2g1aTdyQUQxQ0RmemQrc0ZIUUhPbWZWckNVSVhHWTdOSEl3alBLY0lhOXhFYVlJaUkrMEJNT1U3dWpzSmdpRmpMRU5FUHFxbW1zWkdEY1JBMFFZVUt4UERFUlhFaG9MRnhydnQxNHNXTVJOVTA1UVNoRFVJRWh0OTZkNXVVOUlnUTM2d09BMkF5c2F5YmlPN1VHU09LZ1VuQVR1ZUlMUXNIenBmbnhnTkMrcTVCMWtRb0lxbWhJVWFVb3BvUUhMSFJvaGhNYmlZZ2psVEIwcEVJZ1lSSW9tVVdRR0VpTEdsWkdES3dSRUZERU13S0tJZXhmbGRab2M4QUd4VzNjRFdhU2Q4bm9nYU80TlpSSktoQ25ZWm1Bd01peVRLcUViVXVGcWwwa1ZLNXJXREVZWjl6dDdGVWVubEE4N1lMSUQzSzZnQ2dEZURIb091a1lCNW4zWXE0Q0gyQkZRZHZ6aEtBOWFBQkhXYWdMbVNNYUE2QkV4UVJPbEhzUlFNRVJ3NWlRaE94cVFuUUhpdUZ4d0FqMUJ5QUJ2Z0d2WSs4SW5rNmgzTjZYb0hWQ0Vnd2JBa2FEVDJoM3J4V0RxQzRLMm9vWkFIWkZlaEZQSDFnZUxlUGQ4QWlhOGhjZ0dHdlFuTUR3RU0xUk5Tc3lVVEFNSXE1UUFXckFsSUtaRnhwQklNVlh5bTBUM2tCenhyaEtrNU02eGtBd05BZEt2TUlOVVJaNDR0cGZNaU1HbTJHUkI3VEpYMkVHeUZnMElBczVKQlY2UjVZRVNXQjdIc1JKeWZwOThCMFZIbEc0aU1CdEtMYStDTmsxRHJpUFllb2tBOEV3RTdZQ3lSc1JqZTBqVWEvaU0zcHdmTnNEY0NQV1JQSUVSbVBndmpOdVE4R1FNQUN5Z3lwNUlNSDBhT3BUd0RnSnNDSnRKc1dBbVdpWUpjdWxWUW1MZHJ1VHZrRjV4RXZtcW5mdTBQUWRoeXVlR1JKSHhrRHp3UXpMbGVlcUVhcWxkUUFlTFdTQS9DQUZBYkFIV2d1eHZRUktkeHVFT0lNRzVBZXlOQUdQSXVmc1B0aUhLVzNYbXJVZmFIUVRhY29VR29KdFIyZ3VFVGlROG1sQjBEemREMUVJY09JVTFDOFFVZU1hZ1lrT21BblFUbVZZRkdvQk0xTENCakF4ZzdTQ0JjWHExT0FWeXV4N0MyckZIWnZLQ2lKYzcvRkZBd0phK0JCT05CNjBVc0hRZ2lYMnlGQVBqSVc3VDA4NlB6RnFRM1FPK0luN0tmVGVmakxQQnFsU3BTcnBpcElMUmpUVFExWDN2bnp2dm1WZ1pFRTA5ZTI1YTFwWDNBT0VlSWM1TUNYQmVOdnJWTlBBamM1c1k1T1RkTERJSElTTFMwZkN5Y3dXQ0w0elU0VVVLRmFYeVBxdi85VjNmNXQxQjl2ZjU4bkwrSC9YUDdQL3Z3L2Y5enZwZDlYOFBmL0NuK1A1NFMybmhPaGNQMXMzQWM3anljenpURWNDZE41K3FCN2ZLaEgwL3NWTTUrejJIKzYvdmljK0h3V2pVWW9mYmlld1hGTExTZGw4MnA2OU00L1RQbUw0Mmg4VWZGcmZPam5KclBRT1hQNmZvNy85ZjlIMWZWak8wUThWakdtZE02Y0FFYTY2WnhWdGRkZGQwdW42M0hCcitmNE92dno1WW1PZmJuN1c5NmVFRWJsdlZ4Z2RNbGhYNXl3UW0zWGpoeDNKb0JCSklqaVpFa2dIMmFTdGZlL1U1RUJDSDFnbllOdTQ1WU0rdWo4UVFKQ1diaGttVUJ3TDlzUWZsSGNyM1RJUlBYQk9JQnJSZGhFSklRakdRR0VBa2tVd2dNY0FBZ0JwRUFKZWFVL0VmaExsRndCK3NISFR1ZldTbEVGbGxsNFVuVUhWREl5UllDa2dmWklJR05iYnMzMXVRZFNwQm9vcENLQlB2QVFVTWFWcEVTa2JhQWxDaDM5MkU3Z0p6bVFtL2dJeGtsQ0c5UUlnbVRoQWFVM2dKdFA5WTg4RVRVQ2FVUzlMTjBac09NSnZwS0lGRVhkYVZVRktHRm9HT2NaWnJWWllvVklpUjBZeWxRZ1dPSWhCTWhBcTRTWEpaMWRhSlNOd2tqa3ByM21nSzFqRFdDUGtPNWlRZ0pJa1pHSXlBQ2dMQUZXZXI4MDlzek16REUwQ29HOFFDaWRHcFRtTUR1WkRiQ3RsTkZVdGlCWjlybU41Mm5IMmdnL1NHVGVDTUU5L2g1Q2ZXVmZpSktKSjk4cyt2YTFzVlZhMlQ3aGFmckc2YTFxdGEyMFo1L3daY2Y4N3hlSkl3SnlJcU1VZ2xpRXFHOFF4czNQdUhXTWQxSHBDREdFSW5NL1B2Vk9DL2VVK2NSTXRBaVp0eGRGQ2xVQ0pqR2p2Q0h5endEKzMrRHBra04rWE4raEhwY2Zpa21UamRqTkFUMHFRS0RBRE1HOFFneEJnd2dzQmlRaWhtcmthUG1ranVNdGVvbFVhZE5yN0VjY2VvSk5Dd1FZQ0lvQ0lvQzg3UUVJTXM2bGNodDFBUlUycEFZZVBrU1N3WGZrWkRpd1R4ZGtlWkVVVHJJcEZHdExRaE5ra0YvMUpOQkJxS29pb3F4UnlFakpJVGFXZllPMnJnV2VKVTdnT3ZsZHdEcEJQT1FFaFRxSWNnUEFwcVhwTGhmWGVWVXFzSmRIZ0ZMekJHeGd5SzBoWUxGdGxyVnRSY3d3WW5ZUjlna1R1Y01vWTJGMW13cG96Zml4VHEyRHVFRVJQMzhNa0dvTXBDaGhTcEduYk92d0hBUmtPc0p6QTVpeE8rMUE4QzZqVUMvN2NBNm51RzU0RHpHbXZhWlNRdlVvS3NaWkQ3WnloMDdlN2hnVmkxaG1VaDRaSjZIR1VBK2o2SzlHMjFWNUdVR09Dd2JhSmJXMjQ0aW9YVHdMZUhHU0dZdThOcTlJY1R1bHBVcG91MkFIQTVSTEJlWncxcWR2YXUwYXZlRzVzQnYxZEtxZUgwOUdIQk5zRldWWGJaaDFiYTJ0b2Q1aGt4alJSUlVWVVZTSXhJU0VreU1kUUY1T1FBUkNZTUlNaldNeURFVkswcGFpUEtlbHppaWdDaDFiOWZiYlc1bVpXMjI1Y0ZWTVdpSlZXckxWejBPbml0R3pyT3ViZ2FJMlNZZDJqS3RkSDJaRHVZWU9RWjVXaDBjb2xOcHQxSjMwaXY1Y2pZcnNERy9scHNkQkJrR0s2SG9RNHNlQU5SZ0RhSG1wOW1sTDFJZTlPY253V1dMczE1cEVJUWhDRUhUcjhmZ2pTRnQzbSt4ZFpvQ01BalVNRk5qaDZ4RVFPR3lGb1dyTFZ0dHQ3SVFKdUQ1dCtBQnhnblVRRVJCZ0RwbHB0Tm5pTE04bVlKaVpDTVBBWUF1a0lVeU5MQzRSMkhVRFBUanlkeFNsZ2d6Q29HRkEwUVJTbG9Wcy9hWlVQeW9hd2R5QnVsY3dUMzlvY1dGQm1oTW9FVkJMZmdjRWdXdFpnNUpJUDdNdUdQZzIvN21aK1k2a0J2Ny9XSndBeTlmREdLTVZZTWdnZ1RBQ2tWdkJ1OFFFY3pERE5ZWld3ZnF0UG9EVmxiaWc4U0hYNTZEZkR0cFRTVXJjVUNRWHFRRGtPSS9PVkNTRlBlRU1JejZVQzBJa0VFZThBZkR4QjZTR2JEMXpiN0ZEZGZ6TGxFQlB6ZFJESlRqRlQwZ1J3VTFuUG85YUtIeEtIV0taZFVRR2pwUk5vTkxrY1NBWEFDOUR4YU5KMG5tZ09vd0J6WE1RREhRSzdEQU0wYklCZDBWeGlKYkJCV3E5R0ZVZ0Vvb1ZJOXdJaG1hUUVtYUFlY05EcjNnV1VqQlEycWk0Q1E0Wk1Pc0xNNUVwL0prUEUrTlM3bjl4M0xPQ2gxZEMzN1hZSnJSVFlSQXZ2RGxEcjlsQi9hUVBHSzNKZmVlUlJhZzdYSCtEV0dGRTl0dTEzRTRRM1ZENWtRczNwRHNCdFN5TEUrekNTcHZpUG9nZUM0MFBJUVA0Q1I5MW9vMGxYajdJUEo2Q204eXdDZHFxN3RLYlVvNHNGVENSV0I1ZUo3Z1lSUGM0SE42dHNrQzJGQlZueXprbnB4amdXQlBOc0U4d21EQkxVQmxZS2FvT3FGaEpxN1JVWllpZ3dEWGVrUHJ1SWxqU2xGOGZLQmF3ZHVyTU5lekNiR2x1a05oUTZJSzNTdHZBK1NqbFRTZzIyclppRHJRYXVFZ2pKaXVSRXdvTXJKTlRSSUVVYm1nd0RqajczRGNlQmpqV1pFaWtJUUpCeUJPeW5tbDBOcXU0NXRGTXpZSDZZcHVzTlNBWVFUWkdnNVoySWFEUWFVZkpTL1gxYXJleUE1RVliL1FYM01pVW1lUnZ6WGxMckgzT0Fyb1NIV3FQNUsxTFJEYzBWU3FFdnBZcUorcDVvbC83ek0wMjdBd002eDlXcTVBeldJUXlrbHVMaUNSemVrb0VocGRMUTZGVGVDZ1preVdZOFNTMG8ybFlQakY2RjZ3YjRuNnFYZWgzazZEd2d3MWRZZ25XdldCcDZoaWpYcUExL0p4VjNoNld2dEJubTZWRUtnUk44b0JLMUN5RDFidU1OR25DTktRUmFvTVZEVm9Jc3Qxa3FNZlFsMFVxYjNTVHVJa2d3d0lIYXFzTWI2Q3BMdHhZc0EyTWxzV1Ziem5EdkNCRWlFQzU1QnE4b2F5YkJjQldrYjRFbGxBRzhFZ1VOb0VsSzZrMGF3aEJDRUJZaERHbUY4WVM3d1poWk9OUnd4c1p5QktXQlp4UW5iaGt5VklNQmtFRW5sRURJSXBQM25waWpyYzlLTURJMlZ0QlE4SC9jVTcwY3RmRnQ4NVpvbmtFdmFIYzdDVmVnRGtVVXpVNlVEb1V3YzJCeU9mY1lQcmRBMXpQREJpZ0NFYkVwSlprS1NBNkNBTVhSdTU0cEV5bHJFeG8zQ2JTM0dleTF4dVFLdkRuUlQ4NmdSRFYxOVRQOUpVMkZmTDIyWVMrbFhqd0wrZEF5NVJoSUJCSmpCUmd6cFdaUlNjdXhZZ2xRU0t0UEFwUTBNYlMrNm9FcG5YT21QdDR6bTEwUmswOUhTUld3aTk0QnZoSTI4K0ZPeVdyeHhaSzNHZ00xQzF2ME15TVdWbEJwdEpMTjdnWkpzSTBGbVhnNmd6UmN0QmN5VVR5T2R3cERLR1hRUkNPUkZNY1hEVEJqR3k4T21XYUhwNnk4VFFLd2xxS2FMQ0xzbWxnV0tGY05ES3lORHVXa3pneUprbHFnOTYzYVJldFQzQlNHYU1hMWMxMXZhaXJCVkZpMExGQXpGSmt5RkEwRkRaWlh4Sk1IUXVYU1hKcm1qdmhjd1hUVWh5RkpLd2xnT2JPU2tZTXZUTkN3WEdYQmloTVNHSUt3YU5LZ21WUUxjRHJDNXJ2c2xFMVJSR0F4VDlQS1NMRkFsU0VrU0c4OTVYWFNRcDN0elhqM2hQcGZra2FKRDM0blZ0NHlBdEpJTlV5SVNHMFZZb0xJSWluSWhhSlZGUkVSVVJFVlVSVW9pMVJVUlJGS05WRlZWVkZSYXJWRlZVVzZJWkFrWklKTUNBNksvVklCT0RiYkNMTDl3Y0NReEdtc0NoVG5CVStoaXB3QXNLdWFnYzZuQjNCYnY4VUpkUTJpQnU5OEtFK2dPS0pBSXdTS0lYZTJCRDJ2QlBHY0JSUkVrcFZKck1NcTIzTXVOdHZudmU4cWtIYWdIbCt4dlQ1anBPNm5CUFpCNW5LZGlCQWlEOEFQQ0FPTndrYmN2cDdFVWQ1MlM4YnlIdE93QlN2ZnJUQWV0M212MWRFb1c4aGNRV2RIcGFJRURvQ1hnMENRRHVrb3VGL2hTMnBNVUtrNGdINDFDZDBzS3ZBOUx4dlptam1pYnhFZ3FyanR4cDVDZU5VRjBLWkpERVYzb2h3b2RITXJzT3hVd2crdUYxOGlBNjFIbzJsQXBBWUNSaXR3cXdLY2NnZ0dXelQzaEJTUlJNaEEvVkRvRVdoZmJ2T0ZVVlZGVGNya0lRb3ZBMnp2OFFuZlBuc3I5WHQwK0puU2ZCNHBwNnp4M0J2SnNheWplWVptRHJ5NDYyd1laSm1XMjJydXBQVVB4c3g1dFNSWXNFN0diSVU0OE5jYnRFMXVTdlU3Wk5HMHVTUFRqZTBTMmQwNVRhWEpIamplb2lPc3l5bXBjaGxqZlgxWm5OMnR3dHJkTGJvU1NNRHRKSW4zTEl2Mi9BN1U2Y0xCYTBRU0FmZzduMmxvM0NscmQ4S1JSd1lMS1VWdTRwY0RZKzZNRXdiQlVkYk9RRzAxd1BPREUvQWxsRVBQeThOZlAwUzFwS2w1YUJyRkpETTVpYjZDcmxQb3ZxeUhxaHFmVTFPNG04KzQ0bzFxa1BONTZvakpSWTJBbnFTaWlKaUU4UmVVMG1XWjJScU1UWEtHcEcycjRmSGtHUkNPVWFNRHFBNDE0U1dBaHNHS0F0RldLcnlRTWtUUFNCOHNoQTl6eXdrdHUzOHNnRUZlbXFaSHBJSmhDNUlEQWppb1hoQkNFVmNVUnBUUnQzU1U4WEZpQmlYRzJzSlVoTFJlQW5XWlY3ZnRVbnkrQ0hPV2JzTVlOSXZHUXd4STZGOXNONHZKc1lEeHVkSXF1UUUzTnRpbmNRUzZrT3NSUzV1UmhxMVFvMkdEbUtjZ0JxUGJBOS9LVHVZdEdwcURDNEM1cEhjYVJNUkxEaUVYdVJ5dlFnY0ZDNkpiSlZHWmpZSXVzTEE3RU50SDZpSlFrRFdKSVRJTkNOY3NLRDVRMDIrNTJCV2JwZ3A0MGVMQW1oakdDQ2ZINitPOTV6a0lXRVB2Q0JoMWNla0FyYWd5RnlDUVl4am9ZSzVCa0xXbytaTHZvUUcweXBodU9STElDWFhvRkZpdTdrTk9Qc0ZncUJKR01nTUdId0F3cUlNY0lqQlJxV1FsakhFaWRydUhJQWM1bzdVd0FrSUpDQmcwUmVrS1k4R0FRTUk0N2dIV2dCN1pRU0EwQUVLSVBYdG1xVjdFYkZ5TUlrSUs1cWhwVHk2RkwvUlF5UWhEcmwzcTlkNWRmVGExWVNpVTNlSlpzdnpwcUE5UW92SnlpWDgwQUlzOEx3THpBSWgxd0V1aDYrZ0E5Nm5JZTJKRk1DT29paFRWRWlrQUlqeERwRHhIZTJuRkljYmhOU2xoSEFrZTBJUWdhbHlOUUp0VjdxTUM2R0lpa0NBOEVoNWJYRk9WRTlxZDNvUTNIdUJROWduSHlDanppQUpPLzZIZUJwVlFaRWdiUldzQk1xeXg1N1loZGw3VXd0QnlCaDRBN0JPLzBqZ3hCVGlMYjg3NXhtQXBtcytVYU4waFB6c2dvTEpVSVZDVkFQbElZa0pqaVFzamlMQWxHRlJHQnUvWjk4KzMyQnNiVHFGaUMwOWloa2gwTXBXUnNxRFdvR2h4SW9OSVkwaGs1MVRYanpGZFptbC9ZMHM0ejhnd29sdDZHWGNtS05KQzFWeEZFb1hlQ0dFNjI2V3ZBa3U5czlZcSsyci9BNjRwNkdIaDJpS25yRDRpa0VNVTlwNEtCb3U5TzREMW53SnNOb3EvTjZ5YVExUzdTUHFCUDVGK0ZVSHlnR3ZaN1JKTGRjQkJRQjBhTU1hTG9jUWdYalRSOU1JUVlCWktRaVJGSFNEOGdRODZQTTYvbzcxRHRNdnNGRUtONFpoZXhyWUJVUXBvdkw1WVFyTEJ3VlhqTlJpTW5JVkFXWXBHc2hCQ0N5UURTYUVZQmVsY2l4TEJFQm1pNmk1UWpHM0hNdkFnWW1KclM3cUJTNUFwMVk0VWlseTdSWEFRU2ZKU2NRRW1KS0tYSWNrcGhwdUg3dWQ4Qlk3RVdMQmV6Z2NrZG9NUVhMSkdBR1cyT2I1dUwyUkMvcUQ5dDRsTVF5Tm5FSDhCbXZCVmJia0ExRzVkVG8wbWFYZHRoSWsrRDB3UGNtOEhWSFlNZTdCSUpDREpha3Iwdno3Z2J1ampGeVNLY3d1NEYzWEhKcVVEOFJDRVVrVkdFZ045MlR5V0RwUU13Nk14VjFHZ0E1VVhlbEJzaHNNVmlLV0xxaHJUbjdTYkFCT0FQS3BhR0grUGNNZ2dSNzJ3QXlRTmFwQTBGdVY1dG13SUJ5S2hOeURGRE00Ukl3aUxBMXFSRk9kVzU1RElkWnpOTGtXY0xSZDMrTWpDRGxOWmxaMTRDSEF6QkxPSUZCdEdGdWtCb1JFa0gzd2lUTWN5N2dLRWdVd0pFSUhzR293bDB4bUZNbVNrRUF5Q084RUlLNlhJTzNXVWpURHI1aTk3QzZrb0pnYjYwR2tCUlZGV0h6ODgvcFdSZW50ZG9la2R3QnVFWWp2Z0pRd0dLeER1YzJuaE1QQk5CS1dUWEVMQ2NaM2FQYmZYZjB2eEFhcXJvN2krUDJNUlJSYlcxRkZGRkZGeUhqWjJtaW5xQ1VRb2g1RFlHNUJYMmdCanpIR21LYWlHK1p6ekdiV0lGQWFBaUFWSUp2M3d2Q0FUekJwYVI1aFV6VEZhZEJtbXdRWGxnQmJrYnpxaTNOU2plb3R0dVRJTG9oRGZyY1U1R3hIa2NkUmxxRFoybVhMdmp5dWNsb3daY1lmeEJWc3o2NVpUQmNwUWRBYmlIUkdUa3V1R0M1Z05IWXBqaGp4MFZDVlJVeEF5REVIT3l1YUFZQTVlMi9RRGtuTmtob0xDNjVveExYdVNwY3N3cEZEdUtBRGFKQlFoQkxreGdONmhoY0FFZzBwSXNDanFFclJ4QWhqWURBcHFLUWpCb2xDTVVJdEdDRWkyUU9ReGNUNlM1UVRRa0JTQkJjaFhOSUpyZEFCc29vK2JDQ2NNZ3BnU0J1a0lHTUJ1Q0Z5VEVqTUNnd0dDUUpCVEJHa0FLa3RDckloZ2luL0ZuV3FGeDBvYlRCMkJHL29kKzRwVmdhZnkyRDRHNVRWRDZqOERYQXlTbFI4MzlNSXF3UUc2UUdFRUdCMStzZU9xNmRBbmlSMmJnM29vemg3d0pDb0NRRWlFUFpSZGlCK1VQTWdENmVBS2NvdlNqQnVieFJ5c2lkRHJpN2ZKM0RxZmJNWkpxTnFpYTF1bGtWSFhIWjZVY3R0Z2R5c3dMb1VoaEdyMTFxRHJpZTVsOU1BWVdBcE84SWpnS1FFSVJnY3diVzNzTUhlSm1vRFBlZDRhUitaaVpFSUpFQnI4Wnptb05ZcHZUcm5ydk4yelpRbkVMUFFBaDVPT2dQTWVONWxNMEZDZndnaFFyN3k3VndTaDBFY0JYYktWSGs5RnNJOWNXUWtBa0g5N2hRQUhLOW9Ob3FXUUd5UTlmZVJhZTNrNjd5KzRDQnNJMFNnd25RQmN1bWFYRmFTSzV4VXE2dGl6eEF1Q2hqWVlGS3NKQkN3RnJyQTh5QTdUU2loUHQvS3RiUkFNR3RVRGlvTHEwRjBCdUYwQTZnRmh3Y3ZNNmJCOWdnZGl5emMyeUxaazhFV3FwUC9TMkd0UVFOTTVrYnVBbnVDR0FiRU40b2NZcTRjQzliQURZT3BQUW5BMUNpZmZCREVPY1ZjVG1OUUI4SmdlNUdUcG9CNFJHeFVPa004Rzd0YkZ4UEdIZ2dNa1JnS1NMRlNFQkZCSWtRSXcySVVVT01BeTRLcWJUZ3J0RUdEdEJNN3k5aENrdjBOcE1ZWkNDQk9hYWpMYktGUU1TeExZMVNwRnBFSk1CVVFTcGlZaUZZeHRHRVNLU0JBb2hLQUNCYzBCNHFIb1FHOERFRUtTNHdCeFBneVZTNXNKemduTUFsd09hOEZ5Z2dGRnlKMWJ5S003TkFzQUVJTEJZbG9aZ0tQaHBIVUdHL0pKSVhJTHdsMjUyblE5WVBUdm42Ym9VajgwR1RyU2d5MlhzeEV1bVQ4ZFo4NzJUZWJqR2VwNDI4WEEzTXcwaG9Ta1BIRDVGaDNuZ1NkRGdpaWpySHVKN1BuTUowQ3JxeTRGRVJnMFVzOGV4OHRxT2VxbU9aZW9QRnhiQkFRTjVFUTVmQUt2cDRHY3dORkNEcUFIQWdRVU1QTUVQeCsvV2Q0cjNxbmY2VjJ2Z3YySkJoQlBrQWNmWEdJbms5THllbmZMdFhocjYrWU1URlMxb0l4Uk5vVWkxSWR0eXpiczdCNk9mc29vTmJFZ3hwSVhaRHNxOTlFRGpSWDJ5ZHBFWW9FUk95OUZFUVNnaXNHRkVHRUNFRktpaU5SQUdrRU1oTHZDMDg3T05yWmJIazdYOHFudVhFZThQQzh5UmdibXpERWpVRFZ2YktxY0NSN09yUHg0enRwM3AreE90NnRSQWJIQjVWZTN3aWlFVGlkSW5RMGEycFhhTWdqYnhjMzJ6RjJaMnBuS1FRMDRPaWxpaUl1VFdYSzd3Z2RwNSt2YUFqOVhuZlBWZFhvUkVDQ2dXNkhDMVViU2NtWXRCaDNubEtSa04rclFSd0NWaExLRUhVYkVtckFOSVZEbHpJSGtEb0pYbHQ0Wk1YQXNZSTFpc1NlUE1GMUJGU093Q2tIbUNDZEhRQmNaSGgyQmMyN1NrT0xvRGtJcHYxVWhURlpBaTJDQ3ZRUWV6VE5VbGFkdHFDSFBYaXRXTVVXaitHcXZyRVRDQzFXTkJZT3NSUEJBQzlRSUpzVVl1TnRUbHhoZWhtT1BUdXRGYks0OGR5WW1XUTJTam83MWN2VWpkVDltYUhlRmFibDR5N1hjWHVYbW01dEJhclMwbTgwQ2p1cDRST1ZEYmpIYmgzV3ZJRURrR2tLZGhrVDd2UGNpMlFnYmlJQWNFZFdUU2dSRnRoT1lZOFl5RU4ya3NjdEZUZlJSQ1E1UGhDczJrRTNuSUtOd053QTA2ek9CUzNMYk15Q0pKa3FGRzFHa1ZOMDZ3Y0lLMktDR0ZUdEN6U3BRSkRQc09Rb0krR1FPL3RzbnZzRFNRMEZoRlZTUStBUHpVQTdtZWxqY1o2OUxwWmd1UVFUd2xrQzNWODJKak40Q2liem5GWGVwb2JDR2hDT3BUanNCc0FYSXdJU0ltSUJWVlRWY0EyTFZBTHFYalk1YklkQkxST1NXOS8yTDVBNU4zQVRpeGd4NEJTcEVGQWlSZzZOTnBCcFFDR0p4eXZVUjNCbXZQYU5taVRRcm15QW5NU0FnY3FTMHBCVFlHQUxLaEF5U21ZWUlRUmtJTUFUdXBRT3BDd2lTdFljYUlKR0RCWW1sWUtFVFVhYlhEdVlsS2dZMGlKQ2pRTGFnamIxSWxqQTA5a05DY3NsMm1NcGxjRVdoSWhlMzVZR0o4TWhzc2dkR0NnbW10c1FLcnhjTXNRRktjakpCZ3kwSk1XUkZyUTRxdUc5RU5UVGdyYkdETHNyelRZdG9KazFYYkpobXhJU01VQzByMjMyTHBtZ2tnTTFzUk1UWkxjWWhIT3RFRXZtUndRUTYzQU5vVDVIWWFya0VVMVFsWUs2Q0M0bVdlaXI3cmdTaXBCaE5Ld3RRZ3VZWUF6Q3FBYUNTNGdjaGQrQ0JZSU93TEtDakJpNkRvSURXa0hRWW5seFVaVmJjaUJZQUJZVk53R2tGdUM0dk0wV3pZdUJkRGVqWnh2VkxJVW81T0lXdGNDWWdzTEtJNFloQWpBZ1NSZ0NCb3JhS2JUb3hVQU00ZmVESUJ5c0FCU0FYUWJSQ2lJRVlrWUs1YTlGd0FHdmFIbTVlYzVrQThuVzZ3OE02RjBBU3VXQ3I3MHVpNENpV01Ed0h1cnRFQXF3WldDejY1SHJJQlJCb2lpbm9qVmNqVTdxMkZTcDN3VGlBZUlKMWo0ckFHaEVZanJ2TktGeEVhTk0wYkQxS1hqSUpjYXVCWTB1dEs2bEwyN3ltRFdKc20ybFYyS2NFVzRiSEtDU0JFZ21NZEtLVzB4eFJsZ3RSV0RtbzNnM0NtQ3ErdFZmSEV1a2oxRUJEQVZEekNuUHZGQTJJaHlqaFRQeEVDNzErQ1ZBSlJ2dHpIQWdRU2FhRnBxaUpnS0NZeWphd05FWVlHQW1KUXRnV0M0WUFOTG9HN1BISUlGeHRrdTZJQWF4NmFHU1Qxa2s1akpDVVlkaE5mRUtpbEJFWU9SeGhadHJlakYreThCK1E2QUR5M3MwUXZHYnJIc2dMQndVT25vK1ppaHZOM1dRbzR5c2s0N0EyQkhnODMzT1pVTkRUa0pSS0pRUnBtaTk0aW80SkVrRFVtdC9yM0taQzllbzVmdlQwSy9QckZmZENRbTV4RTBUekJBaWtXTUl3SUFFQjNkTkFKUjJDcnBFRGRDNkJ0ODZuT216eSthanZJNEhPUUNBLzhrU29ySXlFZ1FncURTMUlzSWtrR1NCbGlMRVNDSWtFRmdIbitjMEN0a0RDSXBnS0hTWkJPNkVBb2k4WUZCWlliaGJOUTg4V203UExHbHZRTzRVd1llOEdpTVFkUlFwcVRHZzlMditpOVFrTDNXMWhDUkE3N1pLcWpMMTJZcVE1Qk1ZVDIyS0VxTm9BVUpBQTEzZE1UT1NOcEFoM3lsQmIybk9MNVowazd6RHVGSjRYNm5sYmw0ODJTU2NnUWRtOCsrbWRZRVR2MU56ZEtjR1FDUVNRUWhCK3M1OTc0dktaV3l0Y2toQnBpR01JWlZWWUdnWXdZbnhteFExcm5ROFdvcUVRWGttUkVLTStPeGFnWWhrRkZwZWY0YjBYZVhkR2xvREhxc0pSNEZxS09wQVB3ZmhQdms4NVBuN2h6bkExQTRwSXdPb3Fqd0JrTWJZeG5PTFNMZ0tBYUU3YTFoQVZhWUlvbkJNODRiaUJ0aGJHdUs2NjFlcFBXWmUycWhDVDFDOHdWaE5HVnJLclJLYnpQeVRRRzcxbyt3WW1PUWlQdUlnbCtId3lFakhSOFpxRGxVRk5QSkFPQVFGSU1VRHhRQlR6d1BwOEg1T2E0ZnVDQmtxZjFaZ2FQTDM0UzRnVkNSSENBMVEyVkx3UGNGZXhZUDE1TDV5a1BRbVJKaGlDdzY1UUZ3UFIrUStEOW1ZNzM1T3FGUVYxZi9pN2tpbkNoSVdETjRkd0E9PQoiIiIKIyBEZWNvbXByZXNzIHRoZSBDVURBIHNvdXJjZQpDVURBX1NSQyA9IGJ6Mi5kZWNvbXByZXNzKGJhc2U2NC5iNjRkZWNvZGUoQ1VEQV9TUkNfQ09NUFJFU1NFRCkpLmRlY29kZSgndXRmLTgnKQppbXBvcnQgb3MKaW1wb3J0IHRvcmNoCm9zLmVudmlyb25bIkNYWCJdID0gImNsYW5nKysiCm1vZHVsZSA9IGxvYWRfaW5saW5lKAogICAgbmFtZT0ncnVuX2Zyb21fcHl0aG9uJywKICAgIGNwcF9zb3VyY2VzPVtDUFBfV1JBUFBFUl0sCiAgICBjdWRhX3NvdXJjZXM9W0NVREFfU1JDXSwKICAgIGZ1bmN0aW9ucz1bJ3J1bl9mcm9tX3B5dGhvbiddLAogICAgdmVyYm9zZT1UcnVlLAogICAgZXh0cmFfY3VkYV9jZmxhZ3M9WyItLW9mZmxvYWQtYXJjaD1nZng5NDIiLCAiLXN0ZD1jKysyMCIsICItVV9fSElQX05PX0hBTEZfT1BFUkFUT1JTX18iLCAiLVVfX0hJUF9OT19IQUxGX0NPTlZFUlNJT05TX18iXSwKICAgIGV4dHJhX2NmbGFncz1bIi1PZmFzdCIsICItZmZhc3QtbWF0aCIsICItbWFyY2g9bmF0aXZlIiwgIi1mdW5yb2xsLWxvb3BzIiwgIi1mb21pdC1mcmFtZS1wb2ludGVyIl0sCikKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBpbnB1dF90ZW5zb3IsIHdlaWdodHMsIGNvbmZpZyA9IGRhdGEKICAgIG91dHB1dF90ZW5zb3IgPSBlbXB0eV9saWtlKGlucHV0X3RlbnNvcikKICAgIGJhdGNoX3NpemUgPSBpbnB1dF90ZW5zb3Iuc2l6ZSgwKQogICAgc2VxX2xlbiA9IGlucHV0X3RlbnNvci5zaXplKDEpCiAgICBuX3JvdXRlZF9leHBlcnRzID0gY29uZmlnWyJuX3JvdXRlZF9leHBlcnRzIl0KICAgIG5fc2hhcmVkX2V4cGVydHMgPSBjb25maWdbIm5fc2hhcmVkX2V4cGVydHMiXQogICAgbl9leHBlcnRzX3Blcl90b2tlbiA9IGNvbmZpZ1sibl9leHBlcnRzX3Blcl90b2tlbiJdCiAgICBkX2hpZGRlbiA9IGNvbmZpZ1siZF9oaWRkZW4iXQogICAgZF9leHBlcnQgPSBjb25maWdbImRfZXhwZXJ0Il0KICAgIGV4cGVydF93ZWlnaHRfZ2F0ZV9wID0gW10KICAgIGV4cGVydF93ZWlnaHRfdXBfcCA9IFtdCiAgICBleHBlcnRfd2VpZ2h0X2Rvd25fcCA9IFtdCiAgICBmb3IgaSBpbiByYW5nZShuX3JvdXRlZF9leHBlcnRzKToKICAgICAgICBleHBlcnRfd2VpZ2h0X2dhdGVfcC5hcHBlbmQoaW50KHdlaWdodHNbZidleHBlcnRzLntpfS4wLndlaWdodCddLmRhdGFfcHRyKCkpKQogICAgICAgIGV4cGVydF93ZWlnaHRfdXBfcC5hcHBlbmQoaW50KHdlaWdodHNbZidleHBlcnRzLntpfS4xLndlaWdodCddLmRhdGFfcHRyKCkpKQogICAgICAgIGV4cGVydF93ZWlnaHRfZG93bl9wLmFwcGVuZChpbnQod2VpZ2h0c1tmJ2V4cGVydHMue2l9LjIud2VpZ2h0J10uZGF0YV9wdHIoKSkpCiAgICAKICAgIHNoYXJlZF9leHBlcnRfd2VpZ2h0X2dhdGUgPSBpbnQod2VpZ2h0c1snc2hhcmVkX2V4cGVydHMuMC53ZWlnaHQnXS5kYXRhX3B0cigpKQogICAgc2hhcmVkX2V4cGVydF93ZWlnaHRfdXAgPSBpbnQod2VpZ2h0c1snc2hhcmVkX2V4cGVydHMuMS53ZWlnaHQnXS5kYXRhX3B0cigpKQogICAgc2hhcmVkX2V4cGVydF93ZWlnaHRfZG93biA9IGludCh3ZWlnaHRzWydzaGFyZWRfZXhwZXJ0cy4yLndlaWdodCddLmRhdGFfcHRyKCkpCiAgICAKICAgIHJvdXRlcl93ZWlnaHQgPSBpbnQod2VpZ2h0c1sncm91dGVyLndlaWdodCddLmRhdGFfcHRyKCkpCiAgICAKICAgIGV4cGVydF9zY29yZXMgPSB0b3JjaC5tYXRtdWwoaW5wdXRfdGVuc29yLnZpZXcoLTEsIGRfaGlkZGVuKSwgd2VpZ2h0c1sncm91dGVyLndlaWdodCddLnRyYW5zcG9zZSgwLCAxKSkuY29udGlndW91cygpCiAgICAKICAgIG1vZHVsZS5ydW5fZnJvbV9weXRob24oc2VxX2xlbiwgYmF0Y2hfc2l6ZSwgZF9oaWRkZW4sIGRfZXhwZXJ0LCBuX3JvdXRlZF9leHBlcnRzLCBuX2V4cGVydHNfcGVyX3Rva2VuLCBuX3NoYXJlZF9leHBlcnRzLCBpbnQoaW5wdXRfdGVuc29yLmRhdGFfcHRyKCkpLCBpbnQoZXhwZXJ0X3Njb3Jlcy5kYXRhX3B0cigpKSwgZXhwZXJ0X3dlaWdodF9nYXRlX3AsIGV4cGVydF93ZWlnaHRfdXBfcCwgZXhwZXJ0X3dlaWdodF9kb3duX3AsIHNoYXJlZF9leHBlcnRfd2VpZ2h0X2dhdGUsIHNoYXJlZF9leHBlcnRfd2VpZ2h0X3VwLCBzaGFyZWRfZXhwZXJ0X3dlaWdodF9kb3duLCByb3V0ZXJfd2VpZ2h0LCBpbnQob3V0cHV0X3RlbnNvci5kYXRhX3B0cigpKSkKICAgIAogICAgcmV0dXJuIG91dHB1dF90ZW5zb3I=Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0
Best evidence level for this revision: reported
JSON